home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Reference / the cmsp digests ('94-'97) / csmp digest Vol 4 No 016 < prev    next >
Text File  |  1996-10-29  |  121KB  |  3,740 lines

  1. C.S.M.P. Digest             Mon, 28 Oct 96       Volume 4 : Issue 16
  2.  
  3. Today's Topics:
  4.  
  5.         Are SetDialogDefaultItem, etc. supported?
  6.         Code snippet to find edge of main monitor?
  7.         Directory Names?
  8.         Extension woes...
  9.         Getting-Setting sound volume
  10.         Info on library formats?
  11.         Looking for TrueType to Polygon Font Conversion library
  12.         Mac-hosted UNIX?
  13.         Math64Lib for 68K
  14.         Menu Bar Height in THINK Pascal
  15.         No. of Colours in PICT
  16.         Other application's low-memory globals
  17.         Possible idea:  extension for Be progs
  18.         Reading and Writing Str#
  19.         SPBSetDeviceInfo Question
  20.         Symantec Project Managers
  21.         Think Pascal: where is HasDepth declared ??
  22.         Transparant blitter.
  23.         Trap Patching...
  24.         Video Ram
  25.         Word Processing DLL for Macintosh
  26.         [BETA] fast memory allocator and debugging tool
  27.         [Q] C++ static initialization in 68K code resource?
  28.         [Q] telephone wire used by Phonnet
  29.         beg game program-animation
  30.         where can I find macsbug?
  31.  
  32.  
  33.  
  34. The Comp.Sys.Mac.Programmer Digest is moderated by Mark Aiken
  35. (marka@ee.mcgill.ca).
  36.  
  37. The digest is a collection of article threads from the internet
  38. newsgroups comp.sys.mac.programmer.help, csmp.tools, csmp.misc and
  39. csmp.games. It is designed for people who read news semi-regularly and
  40. want an archive of the discussions.  If you don't know what a
  41. newsgroup is, you probably don't have access to it. Ask your systems
  42. administrator(s) for details. If you don't have access to news, you
  43. may still be able to post messages to the group by using a mail server
  44. like anon.penet.fi (mail help@anon.penet.fi for more information).
  45.  
  46. Each issue of the digest contains one or more sets of articles (called
  47. threads), with each set corresponding to a 'discussion' of a particular
  48. subject.  The articles are not edited; all articles included in this digest
  49. are in their original posted form (as received by our news server at
  50. ee.mcgill.ca).  Article threads are not added to the digest until the last
  51. article added to the thread is at least two weeks old (this is to ensure that
  52. the thread is dead before adding it to the digest).  Article threads that
  53. consist of only one message are generally not included in the digest.
  54.  
  55. The digests can be obtained by email, ftp or through the World Wide Web.
  56.  
  57. If you want to receive the digest by mail, send email to 
  58. majordomo@ee.mcgill.ca with no subject and one of the following commands
  59. as body:
  60.  
  61.     help                        Sends you a summary of commands
  62.     subscribe csmp                      Adds you to the mailing list
  63.     unsubscribe csmp                    Removes you from the list
  64.  
  65. Once you have subscribed, you will automatically receive each new
  66. issue as it is created.
  67.  
  68. Back issues are available by ftp from Info-Mac mirror sites in the
  69. per/csmp subdirectory, e.g.
  70.  
  71.   ftp://sumex-aim.stanford.edu/info-mac/per/csmp/
  72.  
  73. The contents of all back issues can be searched by accessing the
  74. following URL, courtesy of Andrew Barry (ajbarry@ozemail.com.au):
  75.  
  76.     http://marvin.stattech.com.au/search.html
  77.  
  78. They can also be searched through the following URLs, thanks to
  79. Tim Tuck (Tim.Tuck@sensei.com.au):
  80.  
  81.     http://wais.sensei.com.au/searchform.html
  82.     wais://wais.sensei.com.au:210/csmp?
  83.  
  84. -------------------------------------------------------
  85.  
  86. >From Jackson Software Development <development@jacksoncorp.com>
  87. Subject: Are SetDialogDefaultItem, etc. supported?
  88. Date: 14 Oct 1996 21:53:28 GMT
  89. Organization: Jackson Software
  90.  
  91. I was looking through Think Ref. and I stumbled across
  92. SetDialogDefaultItem
  93. and SetDialogCancelItem. It says that they aren't defined in the headers,
  94. although CodeWarrior does have them. Is it safe to use them or should
  95. they be avoided? Just curious.
  96.  
  97. Darrin
  98.  
  99. +++++++++++++++++++++++++++
  100.  
  101. >From craig@epic.co.uk (Craig Emery)
  102. Date: Tue, 15 Oct 1996 13:09:30 +0100
  103. Organization: Epic Miltimedia Group
  104.  
  105. In article <53ucoo$rj8@kirin.wwa.com>, Jackson Software Development
  106. <development@jacksoncorp.com> wrote:
  107.  
  108. >I was looking through Think Ref. and I stumbled across
  109. >SetDialogDefaultItem
  110. >and SetDialogCancelItem. It says that they aren't defined in the headers,
  111. >although CodeWarrior does have them. Is it safe to use them or should
  112. >they be avoided? Just curious.
  113. >
  114. >Darrin
  115.  
  116. I've used them with no problems in CW9 and CW10 with both 68k (native and
  117. emulated) and PPC.
  118.  
  119. Craig.
  120.  
  121.  ----------------------------------------------------------------------- 
  122. | Norman Craig Emery B.Sc.,                            craig@epic.co.uk |
  123. | Team Leader / Senior CDi Programmer &  CRAIG.EPIC@applelink.apple.com |
  124. | Macintosh Programming Coordinator, Voice: +44 (0) (1273) 320637       |
  125. | The Epic Multimedia Group,                 Fax: +44 (0) (1273) 821567 |
  126. |               http://www.epic.co.uk/                                  |
  127. |     VPS House, 52 Old Steine, Brighton, East Sussex, BN1 1NH, U.K.    |
  128.  -----------------------------------------------------------------------
  129.  
  130. +++++++++++++++++++++++++++
  131.  
  132. >From blob@ricochet.net
  133. Date: Tue, 15 Oct 1996 07:40:34 -0700
  134. Organization: (none)
  135.  
  136. In article <53ucoo$rj8@kirin.wwa.com>, Jackson Software Development
  137. <development@jacksoncorp.com> wrote:
  138.  
  139. > I was looking through Think Ref. and I stumbled across
  140. > SetDialogDefaultItem
  141. > and SetDialogCancelItem. It says that they aren't defined in the headers,
  142. > although CodeWarrior does have them. Is it safe to use them or should
  143. > they be avoided? Just curious.
  144.  
  145. This is another example of a bug in Think Reference.  There's a technote
  146. called Pending Update Perils where these routines were first introduced. 
  147. They have been in the headers for at least four years.  Unfortunately, the
  148. Think Reference databases, while useful, haven't been updated in a long
  149. long time.
  150.  
  151. Use SetDialogDefaultItem and SetDialogCancelItem freely in any modern
  152. application.
  153.  
  154. -- 
  155. (Pointers to other Mac programming web sites at
  156. <http://devworld.apple.com/dev/geeks.html>)
  157.  
  158. +++++++++++++++++++++++++++
  159.  
  160. >From darth@zfn.uni-bremen.de (Jochen Lippert)
  161. Date: Tue, 15 Oct 1996 18:14:25 +0200
  162. Organization: University of  Bremen
  163.  
  164. In article <blob-ya023180001510960740340001@news.ricochet.net>,
  165. blob@ricochet.net wrote:
  166.  
  167. > In article <53ucoo$rj8@kirin.wwa.com>, Jackson Software Development
  168. > <development@jacksoncorp.com> wrote:
  169. > > I was looking through Think Ref. and I stumbled across
  170. > > SetDialogDefaultItem
  171. > > and SetDialogCancelItem. It says that they aren't defined in the headers,
  172. > > although CodeWarrior does have them. Is it safe to use them or should
  173. > > they be avoided? Just curious.
  174. > This is another example of a bug in Think Reference.  There's a technote
  175. > called Pending Update Perils where these routines were first introduced. 
  176. > They have been in the headers for at least four years.  Unfortunately, the
  177. > Think Reference databases, while useful, haven't been updated in a long
  178. > long time.
  179.  
  180. There is a related bug in TR. The call SetDialogTracksCursor is named
  181. SetDialogTrackCursor in TR (note the Track*s* in comparison to the Track).
  182. Just to avoid confusion :)
  183.  
  184. Jochen Lippert
  185.  
  186. darth@zfn.uni-bremen.de
  187.  
  188. ---------------------------
  189.  
  190. >From bcland00@pop.uky.edu (Brian Landers)
  191. Subject: Code snippet to find edge of main monitor?
  192. Date: Fri, 27 Sep 1996 17:50:58 -0500
  193. Organization: CampusMCI
  194.  
  195. Hi, I'm looking for a code snippet, either using PowerPlant or not, to find
  196. the global coordinates for the upper-right corner of the main monitor. I
  197. know how to get the desktop region using the qd global, but not to find
  198. just the main monitor.
  199.  
  200. The reason for this is I want to be able to display a window in the
  201. upper-right corner of the main screen by default.
  202.  
  203. Thanks in advance, and please feel free to email or post your reply.
  204.  
  205. Brian Landers
  206. bcland00@pop.uky.edu
  207.  
  208. +++++++++++++++++++++++++++
  209.  
  210. >From carsten.kossendey@nrw-online.de (Carsten Kossendey)
  211. Date: Sat, 28 Sep 1996 01:27:17 +0100
  212. Organization: Nacamar Data Communications
  213.  
  214. Brian Landers <bcland00@pop.uky.edu> wrote:
  215.  
  216. > Hi, I'm looking for a code snippet, either using PowerPlant or not, to find
  217. > the global coordinates for the upper-right corner of the main monitor. I
  218. > know how to get the desktop region using the qd global, but not to find
  219. > just the main monitor.
  220. > The reason for this is I want to be able to display a window in the
  221. > upper-right corner of the main screen by default.
  222. > Thanks in advance, and please feel free to email or post your reply.
  223. > Brian Landers
  224. > bcland00@pop.uky.edu
  225.  
  226. here's the basic one-command approach to your problem. 
  227. (assumption here is that the main screen appears first in the device
  228. list):
  229.  
  230.     theMainScreenRect = LMGetDeviceList()->gdRect
  231.  
  232. [this is code straight from my brain, you may need to add some type
  233. casting]
  234.  
  235. btw, the official way of doing this is to crawl all the way through the
  236. device list until you find the one with a specific flag set, but this is
  237. around 20 lines of code and i can't make that without looking into a
  238. book or two.
  239.  
  240. cheers!
  241.  
  242. -- 
  243. Carsten Kossendey (carsten.kossendey@nrw-online.de)
  244.  
  245. "Life is too short for the game of chess"
  246.  - Lord Henry Byron
  247.  
  248. +++++++++++++++++++++++++++
  249.  
  250. >From gregj@europa.com (Greg Jorgensen)
  251. Date: Mon, 30 Sep 1996 21:30:15 -0800
  252. Organization: Europa Communications, Inc, Portland Oregon USA
  253.  
  254. In article <bcland00-ya023080002709961750580001@news.campus.mci.net>,
  255. bcland00@pop.uky.edu (Brian Landers) wrote:
  256.  
  257. >Hi, I'm looking for a code snippet, either using PowerPlant or not, to find
  258. >the global coordinates for the upper-right corner of the main monitor. I
  259. >know how to get the desktop region using the qd global, but not to find
  260. >just the main monitor.
  261. >
  262. >The reason for this is I want to be able to display a window in the
  263. >upper-right corner of the main screen by default.
  264. >
  265. >Thanks in advance, and please feel free to email or post your reply.
  266.  
  267.  
  268. GDHandle maindevice = GetMainDevice();
  269. Rect bounds = (*maindevice)->gdRect;
  270.  
  271.  
  272. The resulting "bounds" will be in global coordinates.
  273. Note that GetMainDevice() may move or purge memory.
  274.  
  275. -- 
  276. Greg Jorgensen - Portland, Oregon, USA - gregj@europa.com
  277.  
  278. "I tell you, we are here on Earth to fart around, and don't let anyone tell you any different." -- Kurt Vonnegut
  279.  
  280. +++++++++++++++++++++++++++
  281.  
  282. >From "Aidan Cully" <aidan@xanadu.kublai.com>
  283. Date: 1 Oct 96 00:18:49 -0400
  284. Organization: INTAC Access Corporation - An Internet Service Provider
  285.  
  286. >Brian Landers <bcland00@pop.uky.edu> wrote:
  287. >
  288. >> Hi, I'm looking for a code snippet, either using PowerPlant or not, to
  289. >find
  290. >> the global coordinates for the upper-right corner of the main monitor. I
  291. >> know how to get the desktop region using the qd global, but not to find
  292. >> just the main monitor.
  293. >> 
  294. >> The reason for this is I want to be able to display a window in the
  295. >> upper-right corner of the main screen by default.
  296. >> 
  297. >> Thanks in advance, and please feel free to email or post your reply.
  298. >> 
  299. >> Brian Landers
  300. >> bcland00@pop.uky.edu
  301. >
  302. >here's the basic one-command approach to your problem. 
  303. >(assumption here is that the main screen appears first in the device
  304. >list):
  305. >
  306. >    theMainScreenRect = LMGetDeviceList()->gdRect
  307. >
  308. >[this is code straight from my brain, you may need to add some type
  309. >casting]
  310. >
  311. >btw, the official way of doing this is to crawl all the way through the
  312. >device list until you find the one with a specific flag set, but this is
  313. >around 20 lines of code and i can't make that without looking into a
  314. >book or two.
  315. >
  316. >cheers!
  317. >
  318.  
  319. How about:
  320.     theMainScreenRect = qd.screenBits.bounds;
  321.  
  322. I think the screenBits global variable is set to universally point to the
  323. main screen's PixMap, and the looping is basically for finding the largest
  324. screen, or performing operations which could affect multiple screens.
  325.  
  326.  
  327.  
  328. +++++++++++++++++++++++++++
  329.  
  330. >From carsten.kossendey@nrw-online.de (Carsten Kossendey)
  331. Date: Sat, 5 Oct 1996 01:19:08 +0100
  332. Organization: Nacamar Data Communications
  333.  
  334. Aidan Cully <aidan@xanadu.kublai.com> wrote:
  335.  
  336. > >Brian Landers <bcland00@pop.uky.edu> wrote:
  337. > >
  338. > >> Hi, I'm looking for a code snippet, either using PowerPlant or not, to
  339. > >find
  340. > >> the global coordinates for the upper-right corner of the main monitor. I
  341. > >> know how to get the desktop region using the qd global, but not to find
  342. > >> just the main monitor.
  343. > >> 
  344. > >> The reason for this is I want to be able to display a window in the
  345. > >> upper-right corner of the main screen by default.
  346. > >> 
  347. > >> Thanks in advance, and please feel free to email or post your reply.
  348. > >> 
  349. > >> Brian Landers
  350. > >> bcland00@pop.uky.edu
  351. > >
  352. > >here's the basic one-command approach to your problem. 
  353. > >(assumption here is that the main screen appears first in the device
  354. > >list):
  355. > >
  356. > >    theMainScreenRect = LMGetDeviceList()->gdRect
  357. > >
  358. > >[this is code straight from my brain, you may need to add some type
  359. > >casting]
  360. > >
  361. > >btw, the official way of doing this is to crawl all the way through the
  362. > >device list until you find the one with a specific flag set, but this is
  363. > >around 20 lines of code and i can't make that without looking into a
  364. > >book or two.
  365. > >
  366. > >cheers!
  367. > >
  368. > How about:
  369. >       theMainScreenRect = qd.screenBits.bounds;
  370. > I think the screenBits global variable is set to universally point to the
  371. > main screen's PixMap, and the looping is basically for finding the largest
  372. > screen, or performing operations which could affect multiple screens.
  373.  
  374. qd.screenBits.bounds is the virtual (!) rect that includes ALL screens
  375. (useful for dragging windows and stuff). the tricky part here is that
  376. parts of that rectangle may be simply unexistant, e.g. if you have a
  377. 832x624 (17") main screen and a secondary 640x480 (14") screen right to
  378. it, qd.screenbits.bounds will be { 0, 0, 1472, 624 } - however the area
  379. { 832, 480, 1472, 624 } is offscreen.
  380.  
  381. -- 
  382. Carsten Kossendey (carsten.kossendey@nrw-online.de)
  383.  
  384. "Life is too short for the game of chess"
  385.  - Lord Henry Byron
  386.  
  387. +++++++++++++++++++++++++++
  388.  
  389. >From hsoi@eden.com (John C. Daub)
  390. Date: Fri, 04 Oct 1996 20:19:24 -0500
  391. Organization: Hsoi's Shop
  392.  
  393. In article <199610050119084827402@ckossend.nrw-online.de>,
  394. carsten.kossendey@nrw-online.de (Carsten Kossendey) wrote:
  395.  
  396. > >       theMainScreenRect = qd.screenBits.bounds;
  397. > > 
  398. > > I think the screenBits global variable is set to universally point to the
  399. > > main screen's PixMap, and the looping is basically for finding the largest
  400. > > screen, or performing operations which could affect multiple screens.
  401. > qd.screenBits.bounds is the virtual (!) rect that includes ALL screens
  402. > (useful for dragging windows and stuff). the tricky part here is that
  403. > parts of that rectangle may be simply unexistant, e.g. if you have a
  404. > 832x624 (17") main screen and a secondary 640x480 (14") screen right to
  405. > it, qd.screenbits.bounds will be { 0, 0, 1472, 624 } - however the area
  406. > { 832, 480, 1472, 624 } is offscreen.
  407.  
  408.  
  409. >From the Macintosh Programming FAQ <http://www.best.com/~ckt/faq/>
  410.  
  411. 5.13) Q: How do I get the rect of the screen? 
  412.  
  413. A: Which screen? There can be many screens. The rectangle of the main screen
  414. is qd.screenBits.bounds. The rectangle of all the screens is
  415. (**GetGrayRgn()).rgnBBox. You should always post the rectangle covering
  416. all
  417. the screens to DragWindow(). This is well-documented in Inside Mac.
  418.  
  419.  
  420. (and the "This is well documented" line is a hypertext link to this URL:
  421.  
  422. http://devworld.apple.com/dev/techsupport/insidemac/QuickDraw/QuickDraw-18.html
  423.  
  424. Inside Macintosh:Devices will also be a help here to deal with monitor
  425. real estate (and just dealing with monitors).
  426.  
  427. Since you can get Inside Macintosh for free in electronic versions
  428. (although the lack of a QuickView database for OpenTransport is
  429. SORELY lacking...hint hint), little excuse not to have them and not to
  430. read them :)  Enjoy!
  431.  
  432. -- 
  433. John C. Daub (aka Hsoi)  | Pleasure:   <mailto:hsoi@eden.com>
  434. Family Man               | Business:   none of your business :)
  435. Shareware Author         | WWW:        <http://www.eden.com/~hsoi/>
  436. MacOS Developer/Geek     | "What lasagna? THAT lasagna" - Ajax
  437.  
  438. +++++++++++++++++++++++++++
  439.  
  440. >From Graham <graham@impro.demon.co.uk>
  441. Date: Mon, 14 Oct 1996 23:07:50 +0100
  442. Organization: Image Processing & Vision Co. Ltd.
  443.  
  444. Try:
  445.  
  446. GDHandle        mainScreen;
  447. Rect                        msRect;
  448.  
  449. mainScreen = GetMainDevice();
  450. msRect = (*mainScreen)->gdRect;
  451.  
  452. // then get the top, right fields of the rect.
  453.  
  454.  
  455. ---------------------------
  456.  
  457. >From John Ulvr <jhulvr@undergrad.math.uwaterloo.ca>
  458. Subject: Directory Names?
  459. Date: Tue, 15 Oct 1996 10:40:44 -0300
  460. Organization: Newbridge
  461.  
  462. How do you get a directory name from an Id?
  463.  
  464. This may seem like a stupid question, but I've been at it for over a day 
  465. now, and am getting a bit frustrated.  I have a dialog box, which allows 
  466. me to select a file I want to create (called from StandardPutFile() in 
  467. pascal).  It returns a file name, a parentId and vRefNum.  Now, I need 
  468. to get the FULL name of the file (including directory and volume name).  
  469. Does anyone know how to do this?
  470.  
  471. Could you please email any replies to 
  472. jhulvr@undergrad.math.uwaterloo.ca, I don't check this newsgroup often.
  473.  
  474.  
  475. Thanks,
  476.  
  477. John
  478.  
  479. +++++++++++++++++++++++++++
  480.  
  481. >From David Scott <dscott@west.net>
  482. Date: Tue, 15 Oct 1996 18:02:44 +0000
  483. Organization: West.Net Communications
  484.  
  485. John Ulvr wrote:
  486. > How do you get a directory name from an Id?
  487. > This may seem like a stupid question, but I've been at it for over a
  488. > day now, and am getting a bit frustrated.  I have a dialog box, which
  489. > allows me to select a file I want to create (called from
  490. > StandardPutFile() in pascal).  It returns a file name, a parentId and
  491. > vRefNum.  Now, I need to get the FULL name of the file (including
  492. > directory and volume name).
  493. > Does anyone know how to do this?
  494.  
  495. I don't know if you are looking for the code in pascal but here is 
  496. something in C.
  497.  
  498. I'm still green so if this code is off the mark I'm prepared to hear 
  499. about it. :)
  500.  
  501. - -----------------------------
  502. char *GetPathName( short vRefNum, long directoryID, char *pathName )
  503. {
  504.    OSErr          error;
  505.    Str255         name;
  506.    CInfoPBRec     pb;
  507.  
  508.    *pathName = 0;
  509.    pb.dirInfo.ioNamePtr = name;
  510.    pb.dirInfo.ioDrParID = directoryID;
  511.  
  512.    do
  513.    {
  514.       pb.dirInfo.ioVRefNum = vRefNum;
  515.       pb.dirInfo.ioFDirIndex = -1;
  516.       pb.dirInfo.ioDrDirID = pb.dirInfo.ioDrParID;
  517.  
  518.       error = PBGetCatInfoSync( &pb );
  519.  
  520.       pStrcat( name, "/p:" );
  521.       pStrcat( name, pathName );
  522.       pStrcpy( pathName, name );
  523.  
  524.    }while( pb.dirInfo.ioDrDirID != fsRtDirID ); /* till the root dir */
  525.  
  526.    return( pathName );
  527. }
  528.  
  529.  
  530. -- 
  531.  
  532. David Scott       http://www.west.net/~dscott
  533. Santa Barbara
  534.  
  535.  
  536. ---------------------------
  537.  
  538. >From lottsim@aol.com (LOTTSIM)
  539. Subject: Extension woes...
  540. Date: 14 Oct 1996 18:41:18 -0400
  541. Organization: America Online, Inc. (1-800-827-6364)
  542.  
  543. I'm finishing another extension/control panel, yet can't seem to get a
  544. certain part of it to work.
  545.  
  546. I want to be able to open files and control panels, and the obvious
  547. solution is Apple Events.  But, one mustn't send apple events from an
  548. INIT, or...
  549.  
  550. This just hit me.  If the current application is Apple-Event aware, then I
  551. should be able to send apple events from my INIT.  So, for example, if I
  552. make the finder the front process, then attempt to send an 'odoc' (or
  553. whatever) apple event, all should work.  Although, the finder is sending
  554. and receiving...is this bad?
  555.  
  556. *OR*, I could write a little code segment, defined as such:
  557. void    main(FSSpec mySpec);
  558.  
  559. I've seen some sample FKEY code that goes into its own WNE/GNE loop, so if
  560. I already have that going, can't I send an Apple Event then?
  561.  
  562. This is a simple problem, but I want to do it the proper way (if there is
  563. one?)
  564.  
  565. Thanks!
  566.  
  567. Regards,
  568.  
  569. Alex Rampell
  570.  
  571. +++++++++++++++++++++++++++
  572.  
  573. >From parichan@best.com (Kevin Parichan)
  574. Date: Mon, 14 Oct 1996 16:22:33 -0800
  575. Organization: Best Internet Communications
  576.  
  577. In article <53ufie$m9q@newsbf02.news.aol.com>, lottsim@aol.com (LOTTSIM) wrote:
  578.  
  579. >I'm finishing another extension/control panel, yet can't seem to get a
  580. >certain part of it to work.
  581. >
  582. >I want to be able to open files and control panels, and the obvious
  583. >solution is Apple Events.  But, one mustn't send apple events from an
  584. >INIT, or...
  585.  
  586. Not sure where you read this or what problems you're having, but an INIT
  587. _can_ send AppleEvents, just not receive them because they don't have
  588. event loop.
  589.  
  590. -Kevin Parichan
  591.  
  592. +++++++++++++++++++++++++++
  593.  
  594. >From "Eric Stadtherr" <ericstad@netcom.com>
  595. Date: 15 Oct 96 18:10:14 -0600
  596. Organization: Dimensional Communications
  597.  
  598. >>I'm finishing another extension/control panel, yet can't seem to get a
  599. >>certain part of it to work.
  600. >>
  601. >>I want to be able to open files and control panels, and the obvious
  602. >>solution is Apple Events.  But, one mustn't send apple events from an
  603. >>INIT, or...
  604. >
  605. >Not sure where you read this or what problems you're having, but an INIT
  606. >_can_ send AppleEvents, just not receive them because they don't have
  607. >event loop.
  608. >
  609. >
  610.  
  611. I have tried this from an INIT before with unfriendly results.  The way I
  612. sent events from an INIT to an application is through the (obsolete?)
  613. PostHighLevelEvent() call.  Otherwise I believe the apple events are
  614. created in the application heap, which may or may not be valid from within
  615. the context of the INIT.
  616.  
  617. If you need to send apple events, create a BOA that receives your custom
  618. high level events and sends AppleEvents based on the data in the high level
  619. events.  Effectively, instead of:
  620.  
  621. INIT --AppleEvent--> target Application
  622.  
  623. you will have:
  624.  
  625. INIT --HighLevelEvent--> Your BOA --AppleEvent--> target Application
  626.  
  627. You may be able to do some fancy SetZone() calls to get the apple events
  628. into the system heap from the INIT, but I couldn't ever get it to work.
  629.  
  630. I hope this helps!
  631.  
  632. Eric Stadtherr
  633. SingleTrac Software
  634.  
  635.  
  636.  
  637.  
  638. +++++++++++++++++++++++++++
  639.  
  640. >From jwwalker@kagi.com (James W. Walker)
  641. Date: Tue, 15 Oct 1996 23:37:09 -0700
  642. Organization: Nisus Software, Inc.
  643.  
  644. In article <53ufie$m9q@newsbf02.news.aol.com>, lottsim@aol.com (LOTTSIM) wrote:
  645.  
  646. >This just hit me.  If the current application is Apple-Event aware, then I
  647. >should be able to send apple events from my INIT.  So, for example, if I
  648. >make the finder the front process, then attempt to send an 'odoc' (or
  649. >whatever) apple event, all should work.  Although, the finder is sending
  650. >and receiving...is this bad?
  651.  
  652. I think that should work.  However, it may depend on what your INIT does. 
  653. If you've patched jGNEFilter, say, it would probably be OK to send an
  654. AppleEvent from the patch.  On the other hand, if you have patched a trap
  655. that runs at interrupt time or is guaranteed not to move memory, you'd
  656. better not try to send AppleEvents from the patch.
  657.  
  658. >*OR*, I could write a little code segment, defined as such:
  659. >void    main(FSSpec mySpec);
  660. >
  661. >I've seen some sample FKEY code that goes into its own WNE/GNE loop, so if
  662. >I already have that going, can't I send an Apple Event then?
  663.  
  664. Having an event loop doesn't make it an application.  An FKEY still lives
  665. as a "parasite" on some application's context.
  666. -- 
  667.   --  Jim Walker <http://members.aol.com/jwwalker/>
  668.  
  669. ---------------------------
  670.  
  671. >From heaney@crl.com (John S. Heaney)
  672. Subject: Getting-Setting sound volume
  673. Date: 15 Oct 1996 11:57:03 -0700
  674. Organization: CRL Dialup Internet Access    (415) 705-6060  [Login: guest]
  675.  
  676. I'm trying to implement a menu for setting the sound volume in my 
  677. application. Sound Manager 3.0 introduces the SetDefaultOutputVolume and 
  678. GetDefaultOutputVolume calls. This seems like exactly what I want, but 
  679. I'm noticing two things that I need help with.
  680.  
  681. 1)
  682. Setting the volume to 0 does not turn the sound off. Inside Mac gave me 
  683. the impression that the sound would would be all the way off. The 
  684. constant for this value is called kNoVolume.
  685.  
  686. 2)
  687. The volume setting seems to be quantized to 7 steps, 8 including 0. No 
  688. volume is 0 and full volume is 256. If I set the volume to 32 and then 
  689. get the volume, it is set to 0. If I set it to 40 then it gets set to 37. 
  690. So, it seems there are 7 fixed possible values for the volume setting.
  691.  
  692. Some possibly relevant info, I'm using a IIcx with System 7.1 and Sound 
  693. Manager 3.0. I have not experimented with other systems yet. I'm using 
  694. the same value for both the left and right channels, which are in the hi 
  695. and lo words of the volume parameter.
  696.  
  697. BTW, I was attempting to provide command keys for 1-9 with 1 being 
  698. silence and then 8 levels of volume. Unless someone can tell me 
  699. differently, it looks like I'll have to settle for 1-8 without any silent 
  700. level.
  701. -- 
  702. John Heaney              Time flies whether you're having fun or not.
  703. heaney@crl.com
  704.  
  705. +++++++++++++++++++++++++++
  706.  
  707. >From franke1@llnl.gov (Norman Franke)
  708. Date: Tue, 15 Oct 1996 15:06:30 -0700
  709. Organization: Lawrence Livermore National Laboratory
  710.  
  711. In article <540mpv$b7f@crl3.crl.com>, heaney@crl.com (John S. Heaney) wrote:
  712.  
  713. > I'm trying to implement a menu for setting the sound volume in my 
  714. > application. Sound Manager 3.0 introduces the SetDefaultOutputVolume and 
  715. > GetDefaultOutputVolume calls. This seems like exactly what I want, but 
  716. > I'm noticing two things that I need help with.
  717.  
  718. I did this in SoundApp 2.1.1, however I've since dropped the idea.
  719.  
  720. > Setting the volume to 0 does not turn the sound off. Inside Mac gave me 
  721. > the impression that the sound would would be all the way off. The 
  722. > constant for this value is called kNoVolume.
  723.  
  724. On some Macs, e.g. my old Mac II, it does. On others, e.g. a Power Mac
  725. 8500, it doesn't. I think the kNoVolume was meant for the system alert
  726. sound, which flashes the menu bar instead.
  727.  
  728. > The volume setting seems to be quantized to 7 steps, 8 including 0. No 
  729. > volume is 0 and full volume is 256. If I set the volume to 32 and then 
  730. > get the volume, it is set to 0. If I set it to 40 then it gets set to 37. 
  731. > So, it seems there are 7 fixed possible values for the volume setting.
  732.  
  733. Indeed, this is quite annoying. Basically, it takes the "floor" of the
  734. value on those systems which only support the old 0-7 sound volume. Thus,
  735. you need to find out what the value of "1" would be, and use that instead,
  736. and so on for the other values. Basically, use: n * 256 / 7 and round UP
  737. always, (27, 74, etc.)
  738.  
  739. One Power Macs, you shouldn't do this as they support the fill 0-256. I set
  740. the volume to 32 and then read it. If it came out zero, I did the 0-7 and
  741. otherwise did 0-10.
  742.  
  743. However, this all fails on PPC Performas. Changing the volume this way
  744. causes them to make clicking sounds continuously. I couldn't figure it out,
  745. so I've since used the volumeCmd on my sound channel which always works.
  746. This also allows you to over drive the volume. I support up to 150% for
  747. those who like to live on the edge.
  748.  
  749. -- 
  750. Norman Franke
  751. franke1@llnl.gov
  752.  
  753. ---------------------------
  754.  
  755. >From Jonas Nordin <jonasno@student.csd.uu.se>
  756. Subject: Info on library formats?
  757. Date: Tue, 15 Oct 1996 21:43:09 +0200
  758. Organization: Computing Science Dep., University of Uppsala, Sweden.
  759.  
  760. Does anyone know where to get information regarding
  761. the internal format of a MacOS code library?
  762.  
  763. (Inside Macintosh: PowerPC System Software only covers
  764. routines to get information about symbols in a code fragment;
  765. it has nothing on the format of the code itself.)
  766.  
  767. / Jonas
  768.  
  769. - --------------------------------------
  770. Jonas Nordin
  771. jonasno@minsk.docs.uu.se
  772.  
  773. +++++++++++++++++++++++++++
  774.  
  775. >From trumbull@cs.yale.edu (Ben Trumbull)
  776. Date: Tue, 15 Oct 1996 18:29:56 -0400
  777. Organization: Yale University
  778.  
  779. In article <3263E94D.4ABA@student.csd.uu.se>, Jonas Nordin
  780. <jonasno@student.csd.uu.se> wrote:
  781.  
  782. > Does anyone know where to get information regarding
  783. > the internal format of a MacOS code library?
  784. > (Inside Macintosh: PowerPC System Software only covers
  785. > routines to get information about symbols in a code fragment;
  786. > it has nothing on the format of the code itself.)
  787.  
  788. All (more or less) the PPC libraries, applications, and executable
  789. binaries are in the same format, PEF.  (N.B. some older ones are in XCOFF,
  790. an AIX format).  I believe that the CFM 68K libraries are in the same
  791. format, but I don't know much about the 68K issues.
  792.  
  793. There is available via "downloadable license" (or whatever term these
  794. lawyers have fabricated) the PEF specification from Apple.  This isn't
  795. going to be very helpful unless you're trying to write a compiler or
  796. similar (link editor, debugger, etc) utility.  
  797.  
  798. I don't know about its legality for exportation.  Check :
  799.  
  800. <http://devworld.apple.com/mkt/registering/swl/agreements.html>
  801.  
  802. terminally curious,
  803.  
  804. Ben
  805. ___________________________________________________________________
  806. Benjamin Trumbull
  807. trumbull@cs.yale.edu       
  808. Yale University 
  809.        You can't be in hell; you can still read your e-mail
  810.  
  811. ---------------------------
  812.  
  813. >From Randy Frank <rfrank@rsinc.com>
  814. Subject: Looking for TrueType to Polygon Font Conversion library
  815. Date: Mon, 14 Oct 1996 18:30:31 -0600
  816. Organization: Research Systems Inc.
  817.  
  818. Hello,
  819.     I am looking for a library (PD or commercial) which will allow me to
  820. extract the outlines of a TrueType font in a polygon vertex format.  I
  821. need to create polygon text in a 3D application and need to be able to
  822. use the fonts installed on the Mac.  Note: the application must be able
  823. to run on a 68k Mac, so it will not use QuickDraw 3D.  I would prefer a
  824. solution which did not use QuickDraw GX, but I will consider any such
  825. libraries I can find.  If you know of anything which might fit the bill,
  826. please let me know.
  827.  
  828. Thanks in advance.
  829.  
  830. -- 
  831.  
  832. rjf.
  833. Randy Frank, Software Engineer              |  (303) 786-9900
  834. Research Systems Inc.                       |  2995 Wilderness Place
  835. rfrank@rsinc.com                            |  Boulder, CO 80301
  836.  
  837. +++++++++++++++++++++++++++
  838.  
  839. >From bpettit@aimnet.com (Brad Pettit)
  840. Date: Tue, 15 Oct 1996 16:03:58 -0700
  841. Organization: Apple Computer
  842.  
  843. On some of the developer cd's, there is a snippet called "QD Curves" (or
  844. something like that) that contains C code that does what you request. It
  845. will take a bit of effort to extract what you need, but most of the work
  846. is done for you.
  847.  
  848. --Brad
  849.  
  850. p.s. if you find another source, please let me know, too.
  851.  
  852. - ---
  853.  
  854. In article <3262DB27.116F@rsinc.com>, Randy Frank <rfrank@rsinc.com> wrote:
  855.  
  856. > Hello,
  857. >         I am looking for a library (PD or commercial) which will allow me to
  858. > extract the outlines of a TrueType font in a polygon vertex format.  I
  859. > need to create polygon text in a 3D application and need to be able to
  860. > use the fonts installed on the Mac.
  861. > Thanks in advance.
  862. > -- 
  863. > rjf.
  864. > Randy Frank, Software Engineer              |  (303) 786-9900
  865. > Research Systems Inc.                       |  2995 Wilderness Place
  866. > rfrank@rsinc.com                            |  Boulder, CO 80301
  867.  
  868. ---------------------------
  869.  
  870. >From dtisdall@mv.igs.net (Dylan Tisdall)
  871. Subject: Mac-hosted UNIX?
  872. Date: Mon, 07 Oct 1996 16:55:32 -0400
  873. Organization: IGS - Information Gateway Services
  874.  
  875. Hi,
  876.  
  877. Does anyone know a Mac-hosted C compiler for UNIX systems? I'm hoping to
  878. write CGI apps, but I don't really want to bother learning another
  879. language (i.e. Perl).
  880.  
  881. Sorry if this isn't the right place to ask this.
  882.  
  883. TTFN!
  884. Dylan
  885.  
  886. +++++++++++++++++++++++++++
  887.  
  888. >From jude@smellycat.com (Jude Giampaolo)
  889. Date: 8 Oct 1996 05:02:32 GMT
  890. Organization: CyberDrugs
  891.  
  892. In article <dtisdall-0710961655330001@ttya0b.mv.igs.net>,
  893. dtisdall@mv.igs.net (Dylan Tisdall) wrote:
  894.  
  895. > Does anyone know a Mac-hosted C compiler for UNIX systems? I'm hoping to
  896. > write CGI apps, but I don't really want to bother learning another
  897. > language (i.e. Perl).
  898.  
  899. You can write C programs in UNIX too. You don't have to learn perl. I do
  900. recommend it tho....
  901.  
  902. -- 
  903. Jude Charles Giampaolo        'I was lined up for glory, but the
  904. jcg161@psu.edu                 tickets sold out in advance' -Rush
  905. jude@smellycat.com      http://prozac.cwru.edu/jude/JudeHome.html
  906.  
  907. +++++++++++++++++++++++++++
  908.  
  909. >From bierman@apple.com (Peter Bierman)
  910. Date: Wed, 09 Oct 1996 16:22:50 -0800
  911. Organization: I do not speak for Apple Computer!
  912.  
  913. In article <jude-0810960111240001@jcg161.rh.psu.edu>, jude@smellycat.com
  914. (Jude Giampaolo) wrote:
  915.  
  916. > In article <dtisdall-0710961655330001@ttya0b.mv.igs.net>,
  917. > dtisdall@mv.igs.net (Dylan Tisdall) wrote:
  918. > > Does anyone know a Mac-hosted C compiler for UNIX systems? I'm hoping to
  919. > > write CGI apps, but I don't really want to bother learning another
  920. > > language (i.e. Perl).
  921. > You can write C programs in UNIX too. You don't have to learn perl. I do
  922. > recommend it tho....
  923.  
  924. I think he means he wants a Mac C Compiler that produces a UNIX binary.
  925. The problem with that is that there are SO many UNIX binary flavors. I
  926. don't know of any Mac compilers that currently output UNIX binaries. It
  927. shouldn't be too hard to move an ANSI project over to GCC on the actual
  928. target machine though. That's how I usually do my UNIX projects. (Death to
  929. vi).
  930.  
  931. -pmb
  932.  
  933. -- 
  934. lunatic@cs.wisc.edu     <A HREF="http://dax.cs.wisc.edu/~lunatic/">me</a>
  935.  Q: Am I unique and special in the universe?
  936.  A: There are over 10,000 major university and corporate sites running
  937.     exact duplicates of you in the present release version.
  938.  
  939. +++++++++++++++++++++++++++
  940.  
  941. >From bill@scconsult.com (Bill Stewart-Cole)
  942. Date: Thu, 10 Oct 1996 00:39:48 -0500
  943. Organization: ZOG
  944.  
  945. In article <dtisdall-0710961655330001@ttya0b.mv.igs.net>,
  946. dtisdall@mv.igs.net (Dylan Tisdall) wrote:
  947.  
  948. >Hi,
  949. >
  950. >Does anyone know a Mac-hosted C compiler for UNIX systems? I'm hoping to
  951. >write CGI apps, but I don't really want to bother learning another
  952. >language (i.e. Perl).
  953.  
  954. There's a fundamental problem here.
  955.  
  956. "Unix" is usually used loosely[1] to refer to a broad class of OS's running
  957. on dozens of different architectures. Which Unix do you mean? On what
  958. processor? Using what executable format? 
  959.  
  960. I believe that no matter the answers to those questions, the answer to your
  961. question is simply: NO. The reason for this is that "Unix" is not a single
  962. OS and does not run on a single type of processor. This is why much of the
  963. common Unix software is chiefly distributed as source code, because the
  964. variations between Unix machines are so great. 
  965.  
  966. FWIW, it is perfectly possible to code CGI's in C on Unix. It is done all
  967. the time. Unix has very good C tools. 
  968.  
  969.  
  970.  
  971. [1] Technically, Unix is a trademark. It was owned by AT&T, sold to Novell,
  972. and I believe Novell has since sold or sublicensed it to SCO or OSF or some
  973. such bunch. There are somthing like 4 OS's that can legally be called Unix,
  974. and even they run on a variety of platforms.
  975.  
  976. -- 
  977. Bill Stewart-Cole
  978.  
  979. +++++++++++++++++++++++++++
  980.  
  981. >From Steven Carlson <stevec@accessone.com>
  982. Date: Sat, 12 Oct 1996 18:41:10 -0700
  983. Organization: AccessOne
  984.  
  985. On Mon, 7 Oct 1996, Dylan Tisdall wrote:
  986.  
  987. > Hi,
  988. > Does anyone know a Mac-hosted C compiler for UNIX systems? I'm hoping to
  989. > write CGI apps, but I don't really want to bother learning another
  990. > language (i.e. Perl).
  991. > Sorry if this isn't the right place to ask this.
  992. > TTFN!
  993. > Dylan
  994.  
  995. There isn't one to my knowledge.  One of the obvious reasons is that it
  996. would need to generate binaries for different platforms.  If you have
  997. shell access to the machine your CGIs would run on, check out the gcc or 
  998. cc man pages.  Gcc is an ansi compiler compiler so you could compose  with
  999. BBEdit or CW and upload to compile.
  1000.  
  1001. Perl is a pretty simple scripting language.  If you know C you could pick
  1002. the Perl basics in less than an hour.
  1003.  
  1004. --
  1005. Steven Carlson
  1006. stevec@accessone.com
  1007.  
  1008.  
  1009. +++++++++++++++++++++++++++
  1010.  
  1011. >From ma@maths.uwa.edu.au (ma)
  1012. Date: Tue, 15 Oct 1996 16:18:57 +0800
  1013. Organization: The University of Western Australia
  1014.  
  1015. In article <dtisdall-0710961655330001@ttya0b.mv.igs.net>,
  1016. dtisdall@mv.igs.net (Dylan Tisdall) wrote:
  1017.  
  1018. > Hi,
  1019. > Does anyone know a Mac-hosted C compiler for UNIX systems? I'm hoping to
  1020. > write CGI apps, but I don't really want to bother learning another
  1021. > language (i.e. Perl).
  1022. > Sorry if this isn't the right place to ask this.
  1023. > TTFN!
  1024. > Dylan
  1025.  
  1026. ================
  1027.  
  1028. All examples available to me use some tools like
  1029.       "www.h",  "cgi.h",  "html.h", etc.
  1030. These are NOT available to me and I do not know where to find them. Can
  1031. somebody give me a pointer?
  1032.  
  1033. As an outsider and only an occasional user, I do not know how the server
  1034. passes the environment variables the cgi.c-script. All examples I have use
  1035. the function: something like
  1036.       getenv("content_length");
  1037.  
  1038. Is there any source code of PERL-interpreter written in C that is
  1039. available to the public? Be grateful if somebody can give me a pointer.
  1040.  
  1041. ResponderBuilder is supposed to serve the purpose but it relies on the
  1042. Coder-Warrior-plateform. Is there any one who successfully modified it to
  1043. Think-C-v5?
  1044.  
  1045. Occasionally, I downloaded some files with extention   .tar.z.   Stuffit
  1046. refused to un-compress them.  Mac-system recommended  ZipIt but my
  1047. Department does not have it. Is it a freeware? Where can I get a copy?
  1048.  
  1049. I wish to thank Nick.c who drew my attention to this newsgroup. Please
  1050. accept my apology if my questions have been documented in FAQ of your
  1051. group. Thanks in advance.
  1052.  
  1053. ======================
  1054. This reflects myself alone.
  1055. ma@maths.uwa.edu.au
  1056. ======================
  1057.  
  1058. ---------------------------
  1059.  
  1060. >From stack <stack@teleport.com>
  1061. Subject: Math64Lib for 68K
  1062. Date: Fri, 11 Oct 1996 12:36:45 -0700
  1063. Organization: StoneTablet Publishing
  1064.  
  1065. For PPC, there is a Math64Lib which performs 64 bit integer
  1066. math (eg. S64Divide). Is there something like that for 68K?
  1067. The Math64.h has all the S64 functions bracketed with 
  1068. #if GENERATINGPOWERPC. Has anyone implemented a 68K equivalent
  1069. that they would be willing to share?
  1070.  
  1071. Thanks
  1072. Bill
  1073.  
  1074. +++++++++++++++++++++++++++
  1075.  
  1076. >From jude@smellycat.com (Jude Giampaolo)
  1077. Date: Fri, 11 Oct 1996 16:17:57 -0500
  1078. Organization: CyberDrugs
  1079.  
  1080. In article <325EA1CC.24A4@teleport.com>, stack@teleport.com wrote:
  1081.  
  1082. > For PPC, there is a Math64Lib which performs 64 bit integer
  1083. > math (eg. S64Divide). Is there something like that for 68K?
  1084.  
  1085. There was a Develop artice on this a while back I think. I'm sorry I don't
  1086. remeber which issue.
  1087.  
  1088. -- 
  1089. Jude Charles Giampaolo        'I was lined up for glory, but the
  1090. jcg161@psu.edu                 tickets sold out in advance' -Rush
  1091. jude@smellycat.com      http://prozac.cwru.edu/jude/JudeHome.html
  1092.  
  1093. +++++++++++++++++++++++++++
  1094.  
  1095. >From craig@epic.co.uk (Craig Emery)
  1096. Date: Tue, 15 Oct 1996 13:01:40 +0100
  1097. Organization: Epic Miltimedia Group
  1098.  
  1099. In article <jude-1110961617570001@jcg161.rh.psu.edu>, jude@smellycat.com
  1100. (Jude Giampaolo) wrote:
  1101. >There was a Develop artice on this a while back I think. I'm sorry I don't
  1102. remeber which issue.
  1103.  
  1104.     Develop 26, June 1996.
  1105.  
  1106. Craig.
  1107.  
  1108.  ----------------------------------------------------------------------- 
  1109. | Norman Craig Emery B.Sc.,                            craig@epic.co.uk |
  1110. | Team Leader / Senior CDi Programmer &  CRAIG.EPIC@applelink.apple.com |
  1111. | Macintosh Programming Coordinator, Voice: +44 (0) (1273) 320637       |
  1112. | The Epic Multimedia Group,                 Fax: +44 (0) (1273) 821567 |
  1113. |               http://www.epic.co.uk/                                  |
  1114. |     VPS House, 52 Old Steine, Brighton, East Sussex, BN1 1NH, U.K.    |
  1115.  -----------------------------------------------------------------------
  1116.  
  1117.  
  1118. ---------------------------
  1119.  
  1120. >From Adrian Umpleby <adrian@ic.ac.uk>
  1121. Subject: Menu Bar Height in THINK Pascal
  1122. Date: Mon, 14 Oct 1996 12:53:20 +0100
  1123. Organization: Imperial College of Science, Technology and Medicine
  1124.  
  1125. Hi all,
  1126.  
  1127. Quick question about THINK Pascal (v4)...
  1128.  
  1129. How do you Get/Set the menu bar height in THINK Pascal?
  1130. The function GetMenuBarHeight (or GetMBarHeight) is not
  1131. recognised, as well as the global variable MBarHeight.
  1132.  
  1133. Do I need to add some obscure library or interface file
  1134. into the project? I would have expected these to be part
  1135. of menu.p (which is, of course, supposed to be built in).
  1136.  
  1137. Thanks for any info!
  1138.  
  1139. ======================================
  1140.   Adrian Umpleby
  1141.   adrian@ic.ac.uk
  1142.   http://wrench.et.ic.ac.uk/adrian/
  1143. ======================================
  1144.  
  1145. +++++++++++++++++++++++++++
  1146.  
  1147. >From davea@atlas.co.uk (Dave)
  1148. Date: Mon, 14 Oct 1996 16:01:38 +0000
  1149. Organization: Atlas Internet
  1150.  
  1151.  
  1152. This is taken from the header file Menus.h:
  1153.  
  1154. extern pascal short GetMBarHeight( void )
  1155.    TWOWORDINLINE( 0x3EB8, 0x0BAA ); /* MOVE.w $0BAA,(SP) */
  1156.  
  1157.  
  1158.  
  1159. Heres my code example of how to hide and show the menu bar, it may not be
  1160. the best example available, but it works for me.
  1161.  
  1162. Dave
  1163.  
  1164.  
  1165.  
  1166.  
  1167. short oldMBarHeight;
  1168. RgnHandle   mBarRgn,GrayRgn;
  1169. short MBarHeight;
  1170.  
  1171. void HideMenuBar()
  1172. {
  1173.    Rect  mBarRect;
  1174.    oldMBarHeight = GetMBarHeight();
  1175.    GrayRgn = GetGrayRgn();
  1176.    MBarHeight = 0;         /* make the Menu Bar's height zero */
  1177.    SetRect(&mBarRect,qd.screenBits.bounds.left, qd.screenBits.bounds.top,
  1178.          qd.screenBits.bounds.right, qd.screenBits.bounds.top + oldMBarHeight);
  1179.    mBarRgn = NewRgn();
  1180.    RectRgn(mBarRgn, &mBarRect);
  1181.    UnionRgn(GrayRgn, mBarRgn, GrayRgn);/* tell the desktop it covers the menu
  1182.                                         * bar
  1183.                                         */
  1184.    PaintOne(nil, mBarRgn); /* redraw desktop */
  1185. }
  1186.  
  1187. void ShowMenuBar()
  1188. {
  1189.    MBarHeight = oldMBarHeight;   /* make the menu bar's height normal */
  1190.    DiffRgn(GrayRgn, mBarRgn, GrayRgn); /* remove the menu bar from the
  1191.                                         * desktop
  1192.                                         */
  1193.    DisposeRgn(mBarRgn);
  1194. }
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200. In article <326229B0.41C6@ic.ac.uk>, Adrian Umpleby <adrian@ic.ac.uk> wrote:
  1201.  
  1202. > Hi all,
  1203. > Quick question about THINK Pascal (v4)...
  1204. > How do you Get/Set the menu bar height in THINK Pascal?
  1205. > The function GetMenuBarHeight (or GetMBarHeight) is not
  1206. > recognised, as well as the global variable MBarHeight.
  1207. > Do I need to add some obscure library or interface file
  1208. > into the project? I would have expected these to be part
  1209. > of menu.p (which is, of course, supposed to be built in).
  1210. > Thanks for any info!
  1211. > ======================================
  1212. >   Adrian Umpleby
  1213. >   adrian@ic.ac.uk
  1214. >   http://wrench.et.ic.ac.uk/adrian/
  1215. > ======================================
  1216.  
  1217. +++++++++++++++++++++++++++
  1218.  
  1219. >From ingemar@lysator.liu.se (Ingemar Ragnemalm)
  1220. Date: 15 Oct 1996 10:38:15 GMT
  1221. Organization: (none)
  1222.  
  1223. davea@atlas.co.uk (Dave) writes:
  1224.  
  1225.  
  1226. >This is taken from the header file Menus.h:
  1227.  
  1228. >extern pascal short GetMBarHeight( void )
  1229. >   TWOWORDINLINE( 0x3EB8, 0x0BAA ); /* MOVE.w $0BAA,(SP) */
  1230.  
  1231. Which should be something like
  1232.  
  1233. function GetMBarHeight: Integer;
  1234. INLINE
  1235.     $3EB8,$0BAA;
  1236.  
  1237. in Pascal (which is what the original posted asked for). I havn't tested
  1238. this though.
  1239.  
  1240. You can also use straight Pascail code (from the SAT lib, hence the names):
  1241.  
  1242.  procedure SATSetMBarHeight (height: integer);
  1243.   type
  1244.    intPtr = ^integer;
  1245.   var
  1246.    ip: intPtr;
  1247.  begin
  1248.   ip := IntPtr(Pointer($0BAA));
  1249.              {the location of the 2-byte menubar height global var}
  1250.   ip^ := height;
  1251.  end; {SATSetMBarHeight}
  1252.  
  1253.  function SATGetMBarHeight: integer;
  1254.   type
  1255.    intPtr = ^integer;
  1256.   var
  1257.    ip: intPtr;
  1258.  begin
  1259.   ip := IntPtr(Pointer($0BAA));
  1260.              {the location of the 2-byte menubar height global var}
  1261.   SATGetMBarHeight := ip^;
  1262.  end; {SATGetMBarHeight}
  1263.  
  1264.  
  1265. --
  1266. - -
  1267. Ingemar Ragnemalm, PhD
  1268. Image processing, Mac shareware games
  1269. E-mail address: ingemar@isy.liu.se or ingemar@lysator.liu.se
  1270.  
  1271. ---------------------------
  1272.  
  1273. >From sean@demon.co.uk (Sean K. Harbour)
  1274. Subject: No. of Colours in PICT
  1275. Date: Mon, 07 Oct 1996 18:37:08 +0100
  1276. Organization: Focal Image Ltd
  1277.  
  1278. Hi,
  1279.  
  1280.                         Can anyone tell me how to extract the number of colours that are
  1281. contained (used) in a PICT file. I am able to read the size of the file in
  1282. bytes, and the bounding box, but I need to be able to differentiate between
  1283. black and white images and colour (grayscale) images.
  1284.  
  1285.                         Thanks,
  1286.  
  1287.                                             Sean K. Harbour
  1288.  
  1289.  
  1290.  
  1291. +++++++++++++++++++++++++++
  1292.  
  1293. >From michel.touchot@wanadoo.fr (Michel Touchot)
  1294. Date: Mon, 7 Oct 1996 23:45:16 +0100
  1295. Organization: CRDEP
  1296.  
  1297. Sean K. Harbour <sean@demon.co.uk> wrote:
  1298.  
  1299. > Hi,
  1300. > Can anyone tell me how to extract the number of colours that are
  1301. > contained (used) in a PICT file. I am able to read the size of the file in
  1302. > bytes, and the bounding box, but I need to be able to differentiate between
  1303. > black and white images and colour (grayscale) images.
  1304. >                                               Thanks,
  1305. You should try and use the freeware utility called "PICT Informer". It
  1306. will tell you the number of colours and many other things about your
  1307. PICTs
  1308.  
  1309. --Michel--
  1310.  
  1311. +++++++++++++++++++++++++++
  1312.  
  1313. >From sean@demon.co.uk (Sean K. Harbour)
  1314. Date: Tue, 08 Oct 1996 17:01:16 +0100
  1315. Organization: Focal Image Ltd
  1316.  
  1317. Hi,
  1318.  
  1319. >> Can anyone tell me how to extract the number of colours that are
  1320. >> contained (used) in a PICT file. I am able to read the size of the file in
  1321. >> bytes, and the bounding box, but I need to be able to differentiate between
  1322. >> black and white images and colour (grayscale) images.
  1323. >> 
  1324. >> 
  1325. >You should try and use the freeware utility called "PICT Informer". It
  1326. >will tell you the number of colours and many other things about your
  1327. >PICTs
  1328. >
  1329.  
  1330. Where do I find this utility (PICT Informer)?. I still am unable to find
  1331. documentation on how to find the number of colours in a PICT file. Where
  1332. can I get a description of all the fields/tags/format of a PICT file---is
  1333. there a web page for such graphics file formats?
  1334.  
  1335.                                 Thanks,
  1336.  
  1337.                                                             Sean K. Harbour
  1338.  
  1339.  
  1340.  
  1341. +++++++++++++++++++++++++++
  1342.  
  1343. >From squires@crl.com (Scott Squires)
  1344. Date: Sun, 13 Oct 1996 22:49:28 -0800
  1345. Organization: Puffin Designs
  1346.  
  1347. In article <AE80395C9668154DB1@focal.demon.co.uk>,
  1348. sean@demon.co.uk (Sean K. Harbour) wrote:
  1349.  
  1350. >Hi,
  1351. >
  1352. >>> Can anyone tell me how to extract the number of colours that are
  1353. >>> contained (used) in a PICT file. I am able to read the size of the file in
  1354. >>> bytes, and the bounding box, but I need to be able to differentiate between
  1355. >>> black and white images and colour (grayscale) images.
  1356. >>> 
  1357. >>> 
  1358. >>You should try and use the freeware utility called "PICT Informer". It
  1359. >>will tell you the number of colours and many other things about your
  1360. >>PICTs
  1361. >>
  1362. >
  1363. >Where do I find this utility (PICT Informer)?. I still am unable to find
  1364. >documentation on how to find the number of colours in a PICT file. Where
  1365. >can I get a description of all the fields/tags/format of a PICT file---is
  1366. >there a web page for such graphics file formats?
  1367. >
  1368.  
  1369.  
  1370. Inside Mac 5 and 6 cover this.  Also Inside Mac:QuickDraw.
  1371.  
  1372. Check the Apple developer Web pages.
  1373. There's a couple of approaches to getting number of colors.
  1374. Use the PictInfo toolbox routines.  The main problem with these is
  1375. that if there isn't enough system memory they'll hang the machine.
  1376. The other is to set DrawProcs to record the colors.  There are
  1377. examples on Apple's develoepr CD's.  Check the web site.
  1378.  
  1379. -scott
  1380.  
  1381.  
  1382. Scott Squires               "Insert funny stuff here"
  1383. squires@crl.com
  1384. ScottSquir@aol.com
  1385.  
  1386.  
  1387. ---------------------------
  1388.  
  1389. >From mooncake@cs.toronto.edu (Jeff Tupper)
  1390. Subject: Other application's low-memory globals
  1391. Date: 14 Oct 96 23:41:42 GMT
  1392. Organization: CS Lab, University of Toronto
  1393.  
  1394. Does anyone know how to access other application's low memory
  1395. global variables? From I gather, the application-specific
  1396. low memory globals get moved into the A5 world at context
  1397. switch time.
  1398.  
  1399. I am trying to go through the list of windows for all active
  1400. programs, so I am specifically looking for the global
  1401. corresponding to LMGetWindowList.
  1402.  
  1403. Of course, if anyone knows of another way to iterate through
  1404. all the app's windows, I would love to hear it :)
  1405.  
  1406. Jeff
  1407.  
  1408.  
  1409. +++++++++++++++++++++++++++
  1410.  
  1411. >From awiner@oracle.com (Adam Winer)
  1412. Date: Mon, 14 Oct 1996 18:43:15 -0800
  1413. Organization: Oracle Corporation
  1414.  
  1415. In article <1996Oct14.194142.20396@jarvis.cs.toronto.edu>,
  1416. mooncake@cs.toronto.edu (Jeff Tupper) wrote:
  1417.  
  1418. > Does anyone know how to access other application's low memory
  1419. > global variables? From I gather, the application-specific
  1420. > low memory globals get moved into the A5 world at context
  1421. > switch time.
  1422. > I am trying to go through the list of windows for all active
  1423. > programs, so I am specifically looking for the global
  1424. > corresponding to LMGetWindowList.
  1425. > Of course, if anyone knows of another way to iterate through
  1426. > all the app's windows, I would love to hear it :)
  1427.  
  1428. It can't be done in any way that won't break horribly in the
  1429. future.
  1430.  
  1431. -- Adam Winer
  1432. awiner@us.oracle.com
  1433.  
  1434. -- 
  1435. Adam Winer
  1436. awiner@us.oracle.com
  1437. Technical Staff, Oracle Corp.
  1438.  
  1439. +++++++++++++++++++++++++++
  1440.  
  1441. >From mooncake@cs.toronto.edu (Jeff Tupper)
  1442. Date: 15 Oct 96 13:41:21 GMT
  1443. Organization: CS Lab, University of Toronto
  1444.  
  1445. In article <awiner-ya023060031410961843150001@newshost>,
  1446. Adam Winer <awiner@oracle.com> wrote:
  1447. >In article <1996Oct14.194142.20396@jarvis.cs.toronto.edu>,
  1448. >mooncake@cs.toronto.edu (Jeff Tupper) wrote:
  1449. >
  1450. >> Does anyone know how to access other application's low memory
  1451. >> global variables? From I gather, the application-specific
  1452. >> low memory globals get moved into the A5 world at context
  1453. >> switch time.
  1454. >> 
  1455. >> I am trying to go through the list of windows for all active
  1456. >> programs, so I am specifically looking for the global
  1457. >> corresponding to LMGetWindowList.
  1458. >> 
  1459. >> Of course, if anyone knows of another way to iterate through
  1460. >> all the app's windows, I would love to hear it :)
  1461. >
  1462. >It can't be done in any way that won't break horribly in the
  1463. >future.
  1464.  
  1465. I think that is fairly clear - I am just interested in a way
  1466. to do it now. I don't expect it to work in the future. Do
  1467. you know how I could do it now?
  1468.  
  1469. Jeff
  1470.  
  1471. >
  1472. >-- Adam Winer
  1473. >awiner@us.oracle.com
  1474. >
  1475. >-- 
  1476. >Adam Winer
  1477. >awiner@us.oracle.com
  1478. >Technical Staff, Oracle Corp.
  1479.  
  1480.  
  1481.  
  1482. ---------------------------
  1483.  
  1484. >From ajmas@worldnet.fr (Andre-John Mas)
  1485. Subject: Possible idea:  extension for Be progs
  1486. Date: Wed, 9 Oct 1996 20:26:45 +0100
  1487. Organization: SCT / Worldnet - Internet Provider & Information Exchange - Paris, France
  1488.  
  1489. Reading the article on MacWorld's site on Apple possible auquistion of,
  1490. or partnership with Be, I had and idea.  Both companies have great
  1491. systems and both interfaces apeal to different people, after all we
  1492. don't all go around in the same car.  Now the PPCP platform is coming
  1493. out Be and Apple could do a first have two operating systems, that have
  1494. a unified set of calls.  What I mean is that a program writen for one
  1495. platform could work on the other.
  1496.  
  1497. I see the benefits as follows:
  1498.  
  1499.   - The user gets to choose the operating system of his or her choice
  1500.   - The user know that if they see a program for the Be it would 
  1501.     available for the Mac and vice versa.  That way the user would
  1502.     not have to worry about the program not being available.
  1503.   - The programmer would only have to write and distribute one version
  1504.     of the program.
  1505.   - Apple and Be would compete between each other to provide a better
  1506.     system, while the user doesn't have to worry about buying a new
  1507.     version of the program every time they change their mind about their
  1508.     system choice.
  1509.   - A company deciding to allow the user to have the choice of system
  1510.     can by the same programs for both groups.
  1511.  
  1512.  
  1513. The only down sides are:
  1514.  
  1515.   - The programmer may have to do a bit more work
  1516.   - I might not have thought about the idea enough
  1517.   - I am probably being unrealistic.
  1518.  
  1519.  
  1520. That's, now for the views
  1521.  
  1522. Andre-John
  1523.  
  1524. >------------------------------  ,,,, --------------------------------<
  1525.           Andre-John MAS         - -     Smail: 821, Chemin du Riou   
  1526.    Email : ajmas@worldnet.fr      L        06140 Vence, France      
  1527. >------------------------------   -   --------------------------------<
  1528.  Tel/Fax  : (00)(32)(02) 732.97.17    http://myweb.worldnet.fr/~ajmas/
  1529.  
  1530. +++++++++++++++++++++++++++
  1531.  
  1532. >From msbishop@ix.netcom.com (Matt Bishop)
  1533. Date: Sun, 13 Oct 1996 15:51:33 -0500
  1534. Organization: Zippo
  1535.  
  1536. In article <19961009202645129341@nice0-148.sct.fr>, ajmas@worldnet.fr
  1537. (Andre-John Mas) wrote:
  1538.  
  1539. > Reading the article on MacWorld's site on Apple possible auquistion of,
  1540. > or partnership with Be, I had and idea.  Both companies have great
  1541. > systems and both interfaces apeal to different people, after all we
  1542. > don't all go around in the same car.  Now the PPCP platform is coming
  1543. > out Be and Apple could do a first have two operating systems, that have
  1544. > a unified set of calls.  What I mean is that a program writen for one
  1545. > platform could work on the other.
  1546. > The only down sides are:
  1547. >   - The programmer may have to do a bit more work
  1548. >   - I might not have thought about the idea enough
  1549. >   - I am probably being unrealistic.
  1550.  
  1551.  
  1552. I love the Be interface; anyone interested in having it now on their macs
  1553. should download BeView by Greg Landweber who wrote Aaron.
  1554.  
  1555. As for one programming working on both, it will be here sooner than you
  1556. think.  That is what all the hubub is over Java; it is a windows-oriented
  1557. (the concept, not the OS) programming language that can run an multiple
  1558. OSs.  Apple and Windows are both racing to support Java at the OS level,
  1559. freeing users from using Java viewers.  When that day comes, you should
  1560. see many, many programs coming out in Java that will run on both platforms
  1561. without modification.
  1562.  
  1563. There are still plenty of development work left for Java to supplant
  1564. C/Pascal as programming languages, but the groundwork has been done and
  1565. the OSs are moving in the right direction.  Be should support the Java
  1566. language as well.
  1567.  
  1568. -- 
  1569. -Matt Bishop
  1570. msbishop@ix.netcom.com
  1571.  
  1572.                     "Everyone needs a hug; pass it on!"
  1573.  
  1574.         ___                        _____                        ___
  1575.   _____(   \                    .-'     `-.                    /   )_____
  1576.  (_____     \___________       /  (O   O)  \       ___________/     _____)
  1577. (_____                    `---(      )      )---'                    _____)   
  1578.  (_____      __________________\   .___.   /__________________      _____)
  1579.    (________/                   `-._____.-'                   \________)
  1580.    
  1581.           *Hug*     *Hug*     *Hug*     *Hug*           *Hug*
  1582.           *Hug*     *Hug*     *Hug*     *Hug*        *Hug* *Hug*
  1583.           *Hug*     *Hug*     *Hug*     *Hug*       *hug*
  1584.           *hug*     *hug*     *hug*     *hug*      *Hug*
  1585.           *Hug**Hug**Hug*     *Hug*     *Hug*     *Hug*
  1586.           *Hug**Hug**Hug*     *Hug*     *Hug*      *Hug*    *Hug**Hug*
  1587.           *Hug*     *Hug*     *Hug*     *Hug*       *Hug*     *Hug*
  1588.           *Hug*     *Hug*      *Hug*   *Hug*         *Hug*   *Hug*
  1589.           *Hug*     *Hug*       *Hug* *Hug*           *Hug* *Hug*
  1590.           *Hug*     *Hug*          *Hug*                 *Hug*
  1591.  
  1592. (if you can't see it, change your font to Courier!)
  1593.  
  1594. +++++++++++++++++++++++++++
  1595.  
  1596. >From Little Saint <santino@earthlink.net>
  1597. Date: Mon, 14 Oct 1996 17:46:28 -0400
  1598. Organization: Earthlink Network, Inc.
  1599.  
  1600. Matt Bishop wrote:
  1601. > In article <19961009202645129341@nice0-148.sct.fr>, ajmas@worldnet.fr
  1602. > (Andre-John Mas) wrote:
  1603. > > Reading the article on MacWorld's site on Apple possible auquistion of,
  1604. > > or partnership with Be, I had and idea.  Both companies have great
  1605. > > systems and both interfaces apeal to different people, after all we
  1606. > > don't all go around in the same car.  Now the PPCP platform is coming
  1607. > > out Be and Apple could do a first have two operating systems, that have
  1608. > > a unified set of calls.  What I mean is that a program writen for one
  1609. > > platform could work on the other.
  1610. > >
  1611. > > The only down sides are:
  1612. > >
  1613. > >   - The programmer may have to do a bit more work
  1614. > >   - I might not have thought about the idea enough
  1615. > >   - I am probably being unrealistic.
  1616. > >
  1617. > >
  1618. > I love the Be interface; anyone interested in having it now on their macs
  1619. > should download BeView by Greg Landweber who wrote Aaron.
  1620. > As for one programming working on both, it will be here sooner than you
  1621. > think.  That is what all the hubub is over Java; it is a windows-oriented
  1622. > (the concept, not the OS) programming language that can run an multiple
  1623. > OSs.  Apple and Windows are both racing to support Java at the OS level,
  1624. > freeing users from using Java viewers.  When that day comes, you should
  1625. > see many, many programs coming out in Java that will run on both platforms
  1626. > without modification.
  1627. > There are still plenty of development work left for Java to supplant
  1628. > C/Pascal as programming languages, but the groundwork has been done and
  1629. > the OSs are moving in the right direction.  Be should support the Java
  1630. > language as well.
  1631. > --
  1632. > -Matt Bishop
  1633. > msbishop@ix.netcom.com
  1634. >                     "Everyone needs a hug; pass it on!"
  1635. >         ___                        _____                        ___
  1636. >   _____(   \                    .-'     `-.                    /   )_____
  1637. >  (_____     \___________       /  (O   O)  \       ___________/     _____)
  1638. > (_____                    `---(      )      )---'                    _____)
  1639. >  (_____      __________________\   .___.   /__________________      _____)
  1640. >    (________/                   `-._____.-'                   \________)
  1641. >           *Hug*     *Hug*     *Hug*     *Hug*           *Hug*
  1642. >           *Hug*     *Hug*     *Hug*     *Hug*        *Hug* *Hug*
  1643. >           *Hug*     *Hug*     *Hug*     *Hug*       *hug*
  1644. >           *hug*     *hug*     *hug*     *hug*      *Hug*
  1645. >           *Hug**Hug**Hug*     *Hug*     *Hug*     *Hug*
  1646. >           *Hug**Hug**Hug*     *Hug*     *Hug*      *Hug*    *Hug**Hug*
  1647. >           *Hug*     *Hug*     *Hug*     *Hug*       *Hug*     *Hug*
  1648. >           *Hug*     *Hug*      *Hug*   *Hug*         *Hug*   *Hug*
  1649. >           *Hug*     *Hug*       *Hug* *Hug*           *Hug* *Hug*
  1650. >           *Hug*     *Hug*          *Hug*                 *Hug*
  1651. > (if you can't see it, change your font to Courier!)
  1652.  
  1653.  
  1654. One thing to keep in mind about Java apps is that there is great debate over whether 
  1655. multi-platform GUIs will be supported with Java.  What I mean is many people believe 
  1656. that Java apps should have identical GUIs across all platforms.  Which means no matter 
  1657. what GUI you like to use on your platform, it won't be the same as the one in the Java 
  1658. app.
  1659.  
  1660. Little Saint
  1661.  
  1662. ---------------------------
  1663.  
  1664. >From meiss@interlog.com (Mark Eissler)
  1665. Subject: Reading and Writing Str#
  1666. Date: Fri, 11 Oct 1996 04:10:44 GMT
  1667. Organization: Interlog Internet Services
  1668.  
  1669. This is just killing me. I can't seem to find anything on this...
  1670.  
  1671. If I grab a couple of strings from a STR# resource using
  1672. GetIndString(), how do I modify, then write back those strings to the
  1673. STR# resource? 
  1674.  
  1675. None of my current Mac resources seem to deal with the topic of STR#
  1676. in any depth. Not even IM. Is this some sort of secret? Reading the
  1677. things is easy, creating them with ResEdit is a breeze... But writing
  1678. them to the Resource Fork must be magic.
  1679.  
  1680. Any help (or even better, pointers to references) would be
  1681. appreciated.
  1682.  
  1683.  
  1684.  Mark Eissler       | Interlog Tech Support | Interlog Mac Support
  1685.  meiss@interlog.com | support@interlog.com  | macintosh@interlog.com
  1686.         Interlog Internet Services   http://www.interlog.com
  1687.  It's never really been quite the same since blue Smarties came out.
  1688.  
  1689.  
  1690. +++++++++++++++++++++++++++
  1691.  
  1692. >From chris.newman@innosoft.com (Chris Newman)
  1693. Date: Fri, 11 Oct 1996 19:26:48 -0700
  1694. Organization: Altopia Corp. - Affordable Usenet Access - http://www.alt.net
  1695.  
  1696. In article <53kh7m$fs1@news.interlog.com>, meiss@interlog.com wrote:
  1697. >If I grab a couple of strings from a STR# resource using
  1698. >GetIndString(), how do I modify, then write back those strings to the
  1699. >STR# resource? 
  1700.  
  1701. I suspect you have to use GetResource() and then modify the STR# Handle
  1702. directly, just like editing other resources.  You might find the Munger()
  1703. function useful for this case.
  1704.  
  1705. +++++++++++++++++++++++++++
  1706.  
  1707. >From hsoi@metrowerks.com (John C. Daub)
  1708. Date: Mon, 14 Oct 1996 12:45:25 -0500
  1709. Organization: Metrowerks Corporation
  1710.  
  1711.  
  1712. Yes, you could probably do something witih Munger(), but I shudder to
  1713. think what you would have to do :)
  1714.  
  1715. You can also try SetIndString() a little code snippet that I gleaned
  1716. from Apple DTS. (it follows):
  1717.  
  1718. The only change that I might make to this would be to change the
  1719. BlockMove() calls to BlockMoveData(), but that's just me (and shows
  1720. the age of this DTS snippet)
  1721.  
  1722. In article <chris.newman-ya023080001110961926480001@news.alt.net>,
  1723. chris.newman@innosoft.com (Chris Newman) wrote:
  1724.  
  1725. >In article <53kh7m$fs1@news.interlog.com>, meiss@interlog.com wrote:
  1726. >>If I grab a couple of strings from a STR# resource using
  1727. >>GetIndString(), how do I modify, then write back those strings to the
  1728. >>STR# resource? 
  1729. >
  1730. >I suspect you have to use GetResource() and then modify the STR# Handle
  1731. >directly, just like editing other resources.  You might find the Munger()
  1732. >function useful for this case.
  1733.  
  1734.  
  1735. ==========
  1736.  
  1737. OSErr SetIndString(StringPtr theStr,short resID,short strIndex)
  1738. {
  1739.    Handle theRes;               /* handle pointing to STR# resource */
  1740.    short numStrings;            /* number of strings in STR# */
  1741.    short ourString;             /* counter to index up to strIndex */
  1742.    char *resStr;                /* string pointer to STR# string to replace */
  1743.    long oldSize;                /* size of STR# resource before call */
  1744.    long newSize;                /* size of STR# resource after call */
  1745.    unsigned long offset;        /* resource offset to str to replace*/
  1746.  
  1747.    /* make sure index is in bounds */
  1748.  
  1749.    if (resID < 1)
  1750.    return -1;
  1751.  
  1752.    /* make sure resource exists */
  1753.  
  1754.    theRes = GetResource('STR#',resID);
  1755.    if (ResError()!=noErr)
  1756.    return ResError();
  1757.    if (!theRes || !(*theRes))
  1758.    return resNotFound;
  1759.  
  1760.    HLock(theRes);
  1761.    HNoPurge(theRes);
  1762.  
  1763.    /* get # of strings in STR# */
  1764.  
  1765.    BlockMove(*theRes,&numStrings,sizeof(short));
  1766.    if (strIndex > numStrings)
  1767.    return resNotFound;
  1768.  
  1769.    /* get a pointer to the string to replace */
  1770.  
  1771.    offset = sizeof(short);
  1772.    resStr = (char *) *theRes + sizeof(short);
  1773.    for (ourString=1; ourString<strIndex; ourString++) {
  1774.    offset += 1+resStr[0];
  1775.    resStr += 1+resStr[0];
  1776.    }
  1777.  
  1778.    /* grow/shrink resource handle to make room for new string */
  1779.  
  1780.    oldSize = GetHandleSize(theRes);
  1781.    newSize = oldSize - resStr[0] + theStr[0];
  1782.    HUnlock(theRes);
  1783.    SetHandleSize(theRes,newSize);
  1784.    if (MemError()!=noErr) {
  1785.    ReleaseResource(theRes);
  1786.    return -1;
  1787.    }
  1788.    HLock(theRes);
  1789.    resStr = *theRes + offset;
  1790.  
  1791.    /* move old data forward/backward to make room */
  1792.  
  1793.    BlockMove(resStr+resStr[0]+1, resStr+theStr[0]+1,
  1794. oldSize-offset-resStr[0]-1);
  1795.  
  1796.    /* move new data in */
  1797.  
  1798.    BlockMove(theStr,resStr,theStr[0]+1);
  1799.  
  1800.    /* write resource out */
  1801.  
  1802.    ChangedResource(theRes);
  1803.    WriteResource(theRes);
  1804.    HPurge(theRes);
  1805.    ReleaseResource(theRes);
  1806.  
  1807.    return ResError();
  1808. }
  1809.  
  1810. -- 
  1811. John C. Daub                   |  Metrowerks Corporation
  1812. Metrowerks Technical Support   |  2201 Donley Drive, Suite 310
  1813. PowerPlant Pundit              |  Austin, Texas 78758 USA
  1814. <mailto:hsoi@metrowerks.com>   |  <http://www.metrowerks.com/>
  1815.  
  1816. +++++++++++++++++++++++++++
  1817.  
  1818. >From gregj@europa.com (Greg Jorgensen)
  1819. Date: Mon, 14 Oct 1996 22:35:14 -0800
  1820. Organization: RAINet
  1821.  
  1822. In article <53kh7m$fs1@news.interlog.com>, meiss@interlog.com wrote:
  1823.  
  1824. >This is just killing me. I can't seem to find anything on this...
  1825. >
  1826. >If I grab a couple of strings from a STR# resource using
  1827. >GetIndString(), how do I modify, then write back those strings to the
  1828. >STR# resource? 
  1829. >
  1830. >None of my current Mac resources seem to deal with the topic of STR#
  1831. >in any depth. Not even IM. Is this some sort of secret? Reading the
  1832. >things is easy, creating them with ResEdit is a breeze... But writing
  1833. >them to the Resource Fork must be magic.
  1834. >
  1835. >Any help (or even better, pointers to references) would be
  1836. >appreciated.
  1837.  
  1838.  
  1839. Someone wrote and posted a library of functions to work with STR#
  1840. resources a little while ago... have you tried searching InfoMac or
  1841. DejaNews?
  1842.  
  1843. If you don't use that code, you'll have to roll your own. It's pretty
  1844. easy. An STR# resource is simply a (short integer, 2-byte) count of the
  1845. number of strings, followed by that many Pascal-style strings with no
  1846. padding or anything. One way to do it: for each STR# resource create an
  1847. array of n StringPtrs, one for each string in the resource:
  1848.  
  1849.   Handle h = GetResource('STR#', id);
  1850.   if ( h ) {
  1851.       HLock(h);
  1852.       short count = *((short *)*h);  // get the count
  1853.       StringPtr *strings = new StringPtr[count];
  1854.       
  1855.       // loop through strings setting up pointers
  1856.  
  1857.       StringPtr p = StringPtr(*h + sizeof(short));
  1858.  
  1859.       for ( short i = 0; i < count; ++i ) {
  1860.           strings[i] = p;
  1861.           p += *p + 1;  // point to next string
  1862.       }
  1863.   }
  1864.  
  1865. Whenever you change a string, replace the pointer with your string:
  1866.  
  1867.       strings[k] = mynewstring;  // a Str255, StringPtr, whatever
  1868.  
  1869. Then to create a new resource, add up the sizes and copy the strings to a
  1870. new handle. You could be keeping track of the total length as you change
  1871. the strings, too.
  1872.  
  1873.       Size maxsize = (count * 256) + sizeof(short);  // max rsrc size
  1874.       Handle new_h = NewHandle( maxsize );
  1875.       if ( new_h ) {
  1876.           *((short *)*new_h) = count;
  1877.           StringPtr p = StringPtr(*new_h + sizeof(short));
  1878.  
  1879.           for ( short i = 0; i < count; ++i ) {
  1880.               if ( strings[i] ) {
  1881.                   memcpy(p, strings[i], strings[i][0]);
  1882.                   p += strings[i][0] + 1;
  1883.               }
  1884.               else
  1885.                   *p++ = 0;  // empty string
  1886.           }
  1887.  
  1888.           // replace the old resource data with the new
  1889.  
  1890.           Size thesize = Ptr(p) - *new_h;
  1891.           HUnlock(h);
  1892.           SetHandleSize(h, thesize);  // should check result
  1893.           memcpy(*h, *new_h, thesize);
  1894.  
  1895.           WriteResource(h);
  1896.  
  1897.           DisposeHandle(new_h);
  1898.       }
  1899.  
  1900. That's a sloppy online version, but you get the idea. I'd look at that
  1901. STR# library first.
  1902.  
  1903. -- 
  1904. Greg Jorgensen - Portland, Oregon, USA - gregj@europa.com
  1905.  
  1906. "In a recent fire, [Bob] Dole's library burned down. Both books were lost. And he hadn't even finished coloring one." -- Jack Kemp 
  1907.  
  1908. ---------------------------
  1909.  
  1910. >From melepano@mail2.sas.upenn.edu (Michael W Elepano)
  1911. Subject: SPBSetDeviceInfo Question
  1912. Date: 10 Oct 1996 17:26:04 GMT
  1913. Organization: University of Pennsylvania
  1914.  
  1915. Hello:
  1916.  
  1917. In my application, I'm trying to set the device-- the microphone-- to 
  1918. 11KHZ before recording.  I'm using the SPBSetDeviceInfo call but am 
  1919. getting a -225 error each time.  
  1920.  
  1921. I've put many different variations of the desired sample rate in the 
  1922. third variable of the function.  I've tried typecasting, pointers, 
  1923. addresses, and countless parenthesis.
  1924.  
  1925. Has anyone successfully used this function?  Can anyone help me?
  1926.  
  1927. TIA
  1928.  
  1929. Mikey
  1930.  
  1931. +++++++++++++++++++++++++++
  1932.  
  1933. >From reekes@apple.com (Jim Reekes)
  1934. Date: Thu, 10 Oct 1996 15:42:12 -0700
  1935. Organization: Apple Computer, Inc.
  1936.  
  1937. In article <53jbjc$h1f@netnews.upenn.edu>, melepano@mail2.sas.upenn.edu
  1938. (Michael W Elepano) wrote:
  1939.  
  1940. > Hello:
  1941. > In my application, I'm trying to set the device-- the microphone-- to 
  1942. > 11KHZ before recording.  I'm using the SPBSetDeviceInfo call but am 
  1943. > getting a -225 error each time.  
  1944.  
  1945. A quick look at Errors.h tells us you're getting "siInvalidSampleRate"
  1946. which seems logical. So you must be attempting to set the hardware to a
  1947. rate that it cannot support.
  1948.  
  1949. > I've put many different variations of the desired sample rate in the 
  1950. > third variable of the function.  I've tried typecasting, pointers, 
  1951. > addresses, and countless parenthesis.
  1952.  
  1953. Have you tried to use the siSampleRateAvailable selector to find out which
  1954. rates are actually supported by the device your using?
  1955.  
  1956. > Has anyone successfully used this function?
  1957.  
  1958. Of course.
  1959.  
  1960. Jim
  1961.  
  1962. -- 
  1963. Jim Reekes, Polterzeitgeist |       QuickTime Products R&D
  1964.                             |        Sound Manager Expert
  1965. Apple Computer, Inc.        | "All opinions expressed are mine, and
  1966. 2 Infinite Loop  MS 302-3KS |  do not necessarily represent those
  1967. Cupertino, CA 95014         |  of my employer, Apple Computer Inc."
  1968.  
  1969. +++++++++++++++++++++++++++
  1970.  
  1971. >From lroathe@ifd.com (Lane Roathe)
  1972. Date: Thu, 10 Oct 1996 22:38:41 -0800
  1973. Organization: Ideas From the Deep, Ltd.
  1974.  
  1975. In article <reekes-1010961542120001@reekji.apple.com>, reekes@apple.com
  1976. (Jim Reekes) wrote:
  1977.  
  1978. >In article <53jbjc$h1f@netnews.upenn.edu>, melepano@mail2.sas.upenn.edu
  1979. >(Michael W Elepano) wrote:
  1980. >
  1981. >> Hello:
  1982. >> 
  1983. >> In my application, I'm trying to set the device-- the microphone-- to 
  1984. >> 11KHZ before recording.  I'm using the SPBSetDeviceInfo call but am 
  1985. >> getting a -225 error each time.  
  1986. >
  1987. >A quick look at Errors.h tells us you're getting "siInvalidSampleRate"
  1988. >which seems logical. So you must be attempting to set the hardware to a
  1989. >rate that it cannot support.
  1990. >
  1991. >> I've put many different variations of the desired sample rate in the 
  1992. >> third variable of the function.  I've tried typecasting, pointers, 
  1993. >> addresses, and countless parenthesis.
  1994. >
  1995. >Have you tried to use the siSampleRateAvailable selector to find out which
  1996. >rates are actually supported by the device your using?
  1997. >
  1998. >> Has anyone successfully used this function?
  1999. >
  2000. >Of course.
  2001.  
  2002. I ran into this very problem, and my solution was to query the device on
  2003. what sample rates are supported, and then either a) insure my rate is
  2004. between the supported rates, or b) choose the closest rate available. It's
  2005. a lot of code, but you can do it once at the beginning of the program if
  2006. you use a single rate.
  2007. (I don't. Sure would be nice if we could have a "closest match" rate...)
  2008.  
  2009. _________________________________________________________________
  2010. Lane Roathe, Authorized Representative, Ideas From the Deep. Ltd.
  2011. Distribution in any form by Microsoft or Prodigy is PROHIBITED!!!
  2012. -->Unsolicited bulk email will be proofread @ $500/K, 2K minimum!
  2013. Views expressed are my own, not IFD's! Content (c) Copyright 1996
  2014. <http://www.ifd.com/lane>                    <http://www.ifd.com>
  2015.  
  2016. +++++++++++++++++++++++++++
  2017.  
  2018. >From lroathe@ifd.com (Lane Roathe)
  2019. Date: Tue, 15 Oct 1996 01:28:08 -0800
  2020. Organization: Ideas From the Deep, Ltd.
  2021.  
  2022. In article <53ljh4$qg3@netnews.upenn.edu>, melepano@mail2.sas.upenn.edu
  2023. (Michael W Elepano) wrote:
  2024.  
  2025. >#include <Sound.h>
  2026. >#include <SoundInput.h>
  2027. >
  2028. >unsigned long mySr;  //I've tried everything here between char and float
  2029. >OSErr err;
  2030. >
  2031. >mySR=rate11khz;  //I've tried 11000,11127.2727,11025, ad nauseum
  2032. >
  2033. >err=SPBSetDeviceInfo(SoundRefNum,siSampleRate,(Ptr)&mySr);
  2034. >if (err!=noErr)
  2035. >        Debugger();
  2036. >
  2037. >Why is this code bad?
  2038.  
  2039. You must pass a Fixed value! (which is not the same as a long, which is
  2040. why the numbers make no sense when viewed.) This works:
  2041.  
  2042. Fixed rate;
  2043.  
  2044. rate = Long2Fix( 11000 );
  2045. err = SPBSetDeviceInfo( soundRefNum, siSampleRate, &rate );
  2046.  
  2047. Hope this helps!
  2048.  
  2049. _________________________________________________________________
  2050. Lane Roathe, Authorized Representative, Ideas From the Deep. Ltd.
  2051. Distribution in any form by Microsoft or Prodigy is PROHIBITED!!!
  2052. -->Unsolicited bulk email will be proofread @ $500/K, 2K minimum!
  2053. Views expressed are my own, not IFD's! Content (c) Copyright 1996
  2054. <http://www.ifd.com/lane>                    <http://www.ifd.com>
  2055.  
  2056. +++++++++++++++++++++++++++
  2057.  
  2058. >From Jackson Software Development <development@jacksoncorp.com>
  2059. Date: 15 Oct 1996 14:06:47 GMT
  2060. Organization: Jackson Software
  2061.  
  2062. In article <lroathe-1510960128080001@news> Lane Roathe, lroathe@ifd.com
  2063. writes:
  2064. >You must pass a Fixed value! (which is not the same as a long, which is
  2065. >why the numbers make no sense when viewed.) This works:
  2066. >
  2067. >Fixed rate;
  2068. >
  2069. >rate = Long2Fix( 11000 );
  2070. >err = SPBSetDeviceInfo( soundRefNum, siSampleRate, &rate );
  2071.  
  2072. Actually it's not quite a Fixed number. The high bit = 32767 (I think).
  2073. It's sort of an unsigned fixed. This is important for values greater than
  2074. 32Khz (like the ever important 44.1kHz and 48kHz).
  2075.  
  2076. Darrin
  2077.  
  2078. ---------------------------
  2079.  
  2080. >From Rich Schroedel <richs@win.bright.net>
  2081. Subject: Symantec Project Managers
  2082. Date: Tue, 01 Oct 1996 12:41:26 -0600
  2083. Organization: BrightNet Wisconsin
  2084.  
  2085. (I posted the text below to Symantec tech support this morning, but it
  2086. occured to me that I can probably get a much quicker responce here.)
  2087.  
  2088. I just replaced my old Project manager with the new one on the "Symantec
  2089. Cafe DR1" CD-ROM. Now it refused to compile C++ source code. 
  2090.  
  2091. I assumed that it was a superset of the old project manager. Was I
  2092. wrong?
  2093.  
  2094. If so, how can I manage both C++ and Java projects on the same disk,
  2095. when the Mac automatically chooses the application when I double click
  2096. on a project file? If one is not a subset of the other shouldn't the
  2097. Java project manager have a different Creator code than "SPM"?
  2098. -- 
  2099. Rich Schroedel             "There is only one success...
  2100. Ondossagon Software    to live your life in your own way"
  2101. richs@win.bright.net                  Christopher Marlowe
  2102.  
  2103. +++++++++++++++++++++++++++
  2104.  
  2105. >From tree@apple.com (Tom Emerson)
  2106. Date: Tue, 01 Oct 1996 15:36:22 -0400
  2107. Organization: Apple Computer, Inc.
  2108.  
  2109. In article <325165D4.6CF3@win.bright.net>, Rich Schroedel
  2110. <richs@win.bright.net> wrote:
  2111.  
  2112. >I just replaced my old Project manager with the new one on the "Symantec
  2113. >Cafe DR1" CD-ROM. Now it refused to compile C++ source code. 
  2114.  
  2115. D'oh.
  2116.  
  2117. >I assumed that it was a superset of the old project manager. Was I
  2118. >wrong?
  2119.  
  2120. Yup. I think the fact that the DR1 SPM is Java-centric is documented in the
  2121. release notes. The DR2 SPM works for both.
  2122.  
  2123. The original intent was to have a single SPM that would work for both,
  2124. though due to pressures from upper management to get something to market we
  2125. had to cut corners.
  2126.  
  2127. >If so, how can I manage both C++ and Java projects on the same disk,
  2128. >when the Mac automatically chooses the application when I double click
  2129. >on a project file?
  2130.  
  2131. You can't. Make alii on your desktop or use a launcher.
  2132.  
  2133. >If one is not a subset of the other shouldn't the
  2134. >Java project manager have a different Creator code than "SPM"?
  2135.  
  2136. This was debated hotly, and it was decided not to do this for a number of
  2137. reasons, one of the most compelling being that changing the creator would
  2138. have detrimentaly effects on existing scripts and external tool support.
  2139.  
  2140.     -tre
  2141.  
  2142. --
  2143. Tom Emerson                                                 Cambridge R&D
  2144. Senior Software Engineer                             Apple Computer, Inc.
  2145. <mailto:tree@apple.com>                  <http://www.tiac.net/users/tree>
  2146.  
  2147. +++++++++++++++++++++++++++
  2148.  
  2149. >From Michael Taylor <michaelt@elec.gla.ac.uk>
  2150. Date: Fri, 11 Oct 1996 12:27:55 +0000
  2151. Organization: Nanoelectronics Research Centre
  2152.  
  2153. Tom Emerson wrote:
  2154.  
  2155. > >If so, how can I manage both C++ and Java projects on the same disk,
  2156. > >when the Mac automatically chooses the application when I double click
  2157. > >on a project file?
  2158. > You can't. Make alii on your desktop or use a launcher.
  2159.  
  2160. > --
  2161. > Tom Emerson                                                 Cambridge R&D
  2162. > Senior Software Engineer                             Apple Computer, Inc.
  2163. > <mailto:tree@apple.com>                  <http://www.tiac.net/users/tree>
  2164.  
  2165. That's what I like to see, someone with a classical education.
  2166.  
  2167. Michael
  2168.  
  2169. -- 
  2170.  ___________________________________________________________________
  2171. |Michael Taylor                      |email:michaelt@elec.gla.ac.uk |
  2172. |Nanoelectronics Research Centre,    |tel  :(44)-141-330-4795       |
  2173. |Dept. of Electronics and Elec. Eng.,|fax  :(44)-141-330-4907       |
  2174. |The University of Glasgow,          |                              |
  2175. |Glasgow G12 8LT, Scotland, UK.      |                              |
  2176. |                    http://www.elec.gla.ac.uk/~michaelt            |
  2177. |____________________________________|______________________________|
  2178.  
  2179. +++++++++++++++++++++++++++
  2180.  
  2181. >From sw@nan.co.uk (Sak Wathanasin)
  2182. Date: Sun, 13 Oct 1996 11:04:48 GMT
  2183. Organization: Network Analysis Ltd
  2184.  
  2185. In article <325E3D4A.48C@elec.gla.ac.uk>, m.taylor@elec.gla.ac.uk wrote:
  2186.  
  2187. > > You can't. Make alii on your desktop or use a launcher.
  2188. > > 
  2189. > > --
  2190. > > Tom Emerson                                                 Cambridge R&D
  2191. > > ....
  2192. > That's what I like to see, someone with a classical education.
  2193.  
  2194. Hmmm, I think a charge of pedantry could be levelled against Mr Emerson.
  2195. Fowler* says that while there is no hard and fast rule, "... there is a
  2196. tendency to abandon the Latin plurals, and that, when one is really in
  2197. doubt which to use, the English form should be given preference." The OED
  2198. gives "aliases" as the plural and doesn't have "alii" as an alternative. Is
  2199. there a dictionary that prefers the latter form?
  2200.  
  2201. * In "Modern English Usage" under "Latin plurals".
  2202.  
  2203. -- 
  2204. Sak Wathanasin
  2205. Network Analysis Limited
  2206. 178 Wainbody Ave South, Coventry CV3 6BX, UK
  2207.  
  2208. Internet: sw@nan.co.uk 
  2209. uucp:     ...!britain.eu.net!nan!sw
  2210. Phone: (+44) 1203 419996                              Fax: (+44) 1203 690690
  2211.  
  2212. +++++++++++++++++++++++++++
  2213.  
  2214. >From bfitz@acm.org (Brian Fitzgerald)
  2215. Date: Mon, 14 Oct 1996 00:25:20 -0700
  2216. Organization: Future Tense
  2217.  
  2218. In article <sw-ya023180001310961204480001@newshost.nan.co.uk>,
  2219. sw@nan.co.uk (Sak Wathanasin) wrote:
  2220.  
  2221. > Hmmm, I think a charge of pedantry could be levelled against Mr Emerson.
  2222. > Fowler* says that while there is no hard and fast rule, "... there is a
  2223. > tendency to abandon the Latin plurals, and that, when one is really in
  2224. > doubt which to use, the English form should be given preference." The OED
  2225. > gives "aliases" as the plural and doesn't have "alii" as an alternative. Is
  2226. > there a dictionary that prefers the latter form?
  2227.  
  2228. Much ado about nothing. The plural of alias is aliaii. Monsieur Emerson
  2229. was then extrapolating to somewhere around the year 2019 where the middle
  2230. syllable is dropped (common words are compressed to as few syllables as
  2231. are intelligble).
  2232.  
  2233. -- 
  2234. Brian Fitzgerald
  2235. Future Point
  2236.  
  2237.  
  2238. ---------------------------
  2239.  
  2240. >From bilewicz@helf4.physik.fu-berlin.de (Roger Bilewicz)
  2241. Subject: Think Pascal: where is HasDepth declared ??
  2242. Date: 14 Oct 96 12:21:54 GMT
  2243. Organization: Freie Universitaet Berlin
  2244.  
  2245.  
  2246. Hi all,
  2247.  
  2248. I can't find where the function HasDepth is declared.
  2249. It belongs to QuickDraw/Graphics Devices, but I cannot find it in all
  2250. the interface files, neither the old ones (preferred!) nor in the
  2251. Universal Headers. 
  2252. Unfortunately, the trap number isn't given in Inside Mac either.
  2253.  
  2254. Who can help?
  2255.  
  2256. TIA,
  2257. Roger
  2258.  
  2259.  
  2260. +++++++++++++++++++++++++++
  2261.  
  2262. >From lottsim@aol.com (LOTTSIM)
  2263. Date: 14 Oct 1996 18:11:48 -0400
  2264. Organization: America Online, Inc. (1-800-827-6364)
  2265.  
  2266. #include <Palettes.h>
  2267.  
  2268. That works fine in my apps that require this call.
  2269.  
  2270. Alex Rampell
  2271.  
  2272. +++++++++++++++++++++++++++
  2273.  
  2274. >From ingemar@lysator.liu.se (Ingemar Ragnemalm)
  2275. Date: 15 Oct 1996 10:40:24 GMT
  2276. Organization: (none)
  2277.  
  2278. bilewicz@helf4.physik.fu-berlin.de (Roger Bilewicz) writes:
  2279.  
  2280.  
  2281. >I can't find where the function HasDepth is declared.
  2282. >It belongs to QuickDraw/Graphics Devices, but I cannot find it in all
  2283. >the interface files, neither the old ones (preferred!) nor in the
  2284. >Universal Headers. 
  2285. >Unfortunately, the trap number isn't given in Inside Mac either.
  2286.  
  2287. It is in Palettes.p (at least in the old interfaces).
  2288.  
  2289. Use BBedit to search through the interfaces. It will find the right
  2290. interface file in seconds.
  2291.  
  2292. --
  2293. - -
  2294. Ingemar Ragnemalm, PhD
  2295. Image processing, Mac shareware games
  2296. E-mail address: ingemar@isy.liu.se or ingemar@lysator.liu.se
  2297.  
  2298. +++++++++++++++++++++++++++
  2299.  
  2300. >From ingemar@lysator.liu.se (Ingemar Ragnemalm)
  2301. Date: 15 Oct 1996 10:43:02 GMT
  2302. Organization: (none)
  2303.  
  2304. lottsim@aol.com (LOTTSIM) writes:
  2305.  
  2306. >#include <Palettes.h>
  2307.  
  2308. >That works fine in my apps that require this call.
  2309.  
  2310. The subject says "Think Pascal", where we rather say:
  2311.  
  2312. uses Palettes;
  2313.  
  2314. Palettes.p happens to be the right interface, but the C and Pascal interfaces
  2315. sometimes differ.
  2316.  
  2317. --
  2318. - -
  2319. Ingemar Ragnemalm, PhD
  2320. Image processing, Mac shareware games
  2321. E-mail address: ingemar@isy.liu.se or ingemar@lysator.liu.se
  2322.  
  2323. ---------------------------
  2324.  
  2325. >From john clarke <johnc@lallink.demon.co.uk>
  2326. Subject: Transparant blitter.
  2327. Date: Mon, 30 Sep 1996 22:31:14 +0000
  2328. Organization: (none)
  2329.  
  2330. I found a nice(fast) way of doing a transparant (50% source 50% 
  2331. destination) blit in 16bit colour, that could also be easily adapted to 
  2332. 32bit colour.
  2333.  
  2334. If anyone is interested, I'll post the source (it's only about a dozen 
  2335. lines).
  2336.  
  2337. Alex Clarke
  2338.  
  2339. +++++++++++++++++++++++++++
  2340.  
  2341. >From erickson@cet.com (Ian K. Erickson)
  2342. Date: Mon, 30 Sep 1996 18:17:21 -0800
  2343. Organization: Cutting Edge Technologies
  2344.  
  2345. In article <32504A32.114D@lallink.demon.co.uk>, john clarke
  2346. <johnc@lallink.demon.co.uk> wrote:
  2347.  
  2348. > I found a nice(fast) way of doing a transparant (50% source 50% 
  2349. > destination) blit in 16bit colour, that could also be easily adapted to 
  2350. > 32bit colour.
  2351. > If anyone is interested, I'll post the source (it's only about a dozen 
  2352. > lines).
  2353.  
  2354. Yeah, I'd like to see it! Post away, CodeWarrior.
  2355.  
  2356. -- 
  2357. <^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^>
  2358. <No matter when you go,    Ian K. Erickson >
  2359. <then you are.            erickson@cet.com >
  2360. <vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv>
  2361.  
  2362.  
  2363. +++++++++++++++++++++++++++
  2364.  
  2365. >From john clarke <johnc@lallink.demon.co.uk>
  2366. Date: Tue, 01 Oct 1996 08:28:44 +0000
  2367. Organization: (none)
  2368.  
  2369. Hopefully this should be fairly self explanitory.  They seem pretty 
  2370. quick in my tests on a 7200/90 with CW10.
  2371.  
  2372. Transparant_Cheap16bit_Blit() produces slightly darker results than the 
  2373. more expensive Transparant_16bit_Blit(), which takes account of the 
  2374. least significant bits.  They work on two pixels at a time, and no 
  2375. attempt has been made to get these to work with odd x paramaters.  It 
  2376. would be trivial to get this to work with 32bit colour.  
  2377.     
  2378. Cheers, Alex Clarke
  2379.             
  2380. void Transparant_Cheap16bit_Blit(
  2381.         unsigned long *src_ptr,
  2382.         long src_rowBytes,
  2383.         unsigned long *dst_ptr,
  2384.         long dst_rowBytes,
  2385.         long src_x1,
  2386.         long src_y1,
  2387.         long src_x2,
  2388.         long src_y2,
  2389.         long dst_x1,
  2390.         long dst_y1)
  2391. {
  2392.     register unsigned long    mask=0x7BDE7BDE;
  2393.     register unsigned long     *src_ptr_copy,*dst_ptr_copy;
  2394.     register long num_of_longs=(src_x2-src_x1)>>1;
  2395.     register long x,y; 
  2396.     
  2397.     src_ptr=(unsigned 
  2398. long*)(((long)src_ptr)+(src_y1*src_rowBytes)+(src_x1<<1)-4);
  2399.     dst_ptr=(unsigned 
  2400. long*)(((long)dst_ptr)+(dst_y1*dst_rowBytes)+(dst_x1<<1)-4);
  2401.         
  2402.     for (y=src_y1;y<src_y2;y++)
  2403.         {                
  2404.         src_ptr_copy=src_ptr;
  2405.         dst_ptr_copy=dst_ptr;
  2406.         
  2407.         for (x=0;x<num_of_longs;x++)
  2408.             {
  2409.             register unsigned long src_word=*(++src_ptr_copy);
  2410.             register unsigned long dst_word=*(++dst_ptr_copy);
  2411.             
  2412.             src_word&=mask;
  2413.             dst_word&=mask;
  2414.             
  2415.             dst_word+=src_word;
  2416.             dst_word>>=1;
  2417.             
  2418.             *(dst_ptr_copy)=dst_word;
  2419.             }
  2420.                 
  2421.         src_ptr=(unsigned long*)(((long)src_ptr)+src_rowBytes);
  2422.         dst_ptr=(unsigned long*)(((long)dst_ptr)+dst_rowBytes);
  2423.         }
  2424. }        
  2425.         
  2426. void Transparant_16bit_Blit(
  2427.         unsigned long *src_ptr,
  2428.         long src_rowBytes,
  2429.         unsigned long *dst_ptr,
  2430.         long dst_rowBytes,
  2431.         long src_x1,
  2432.         long src_y1,
  2433.         long src_x2,
  2434.         long src_y2,
  2435.         long dst_x1,
  2436.         long dst_y1)
  2437. {
  2438.     register unsigned long    mask=0x7BDE7BDE;
  2439.     register unsigned long    carry_mask=0x4210421;
  2440.     register unsigned long     *src_ptr_copy,*dst_ptr_copy;
  2441.     register long num_of_longs=(src_x2-src_x1)>>1;
  2442.     register long x,y; 
  2443.     
  2444.     src_ptr=(unsigned 
  2445. long*)(((long)src_ptr)+(src_y1*src_rowBytes)+(src_x1<<1)-4);
  2446.     dst_ptr=(unsigned 
  2447. long*)(((long)dst_ptr)+(dst_y1*dst_rowBytes)+(dst_x1<<1)-4);
  2448.         
  2449.     for (y=src_y1;y<src_y2;y++)
  2450.         {                
  2451.         src_ptr_copy=src_ptr;
  2452.         dst_ptr_copy=dst_ptr;
  2453.         
  2454.         for (x=0;x<num_of_longs;x++)
  2455.             {
  2456.             register unsigned long src_word=*(++src_ptr_copy);
  2457.             register unsigned long dst_word=*(++dst_ptr_copy);
  2458.             register unsigned long carry=src_word | dst_word;
  2459.             
  2460.             src_word&=mask;
  2461.             dst_word&=mask;
  2462.             
  2463.             carry&=carry_mask;
  2464.             
  2465.             dst_word+=src_word;
  2466.             dst_word>>=1;
  2467.             dst_word|=carry;
  2468.             
  2469.             *(dst_ptr_copy)=dst_word;
  2470.             }
  2471.                 
  2472.         src_ptr=(unsigned long*)(((long)src_ptr)+src_rowBytes);
  2473.         dst_ptr=(unsigned long*)(((long)dst_ptr)+dst_rowBytes);
  2474.         }
  2475. }
  2476.  
  2477. +++++++++++++++++++++++++++
  2478.  
  2479. >From harding@netaxis.com (Leander Harding)
  2480. Date: Tue, 01 Oct 1996 15:31:11 -0500
  2481. Organization: SoftBlade Digital Entertainment
  2482.  
  2483. In article <32504A32.114D@lallink.demon.co.uk>, john clarke
  2484. <johnc@lallink.demon.co.uk> wrote:
  2485.  
  2486. > I found a nice(fast) way of doing a transparant (50% source 50% 
  2487. > destination) blit in 16bit colour, that could also be easily adapted to 
  2488. > 32bit colour.
  2489. > If anyone is interested, I'll post the source (it's only about a dozen 
  2490. > lines).
  2491.  
  2492. Post away - I'd be interested....
  2493.  
  2494. Check Six!
  2495.     -Leander
  2496. <harding@netaxis.com>|<http://www.netaxis.com/~harding/>
  2497.  
  2498. +++++++++++++++++++++++++++
  2499.  
  2500. >From Russ Hendy <Russ@tui.co.uk>
  2501. Date: Tue, 01 Oct 1996 17:43:30 +0000
  2502. Organization: tui interactive media
  2503.  
  2504. yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah 
  2505. yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah 
  2506. yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah  yeah 
  2507. yeah  yeah  yeah  
  2508.  
  2509. Russ.
  2510.  
  2511. +++++++++++++++++++++++++++
  2512.  
  2513. >From john clarke <johnc@lallink.demon.co.uk>
  2514. Date: Wed, 02 Oct 1996 17:52:44 +0000
  2515. Organization: (none)
  2516.  
  2517. Did you get it to work?
  2518. If so, what do you think?
  2519.  
  2520. Alex Clarke
  2521.  
  2522. +++++++++++++++++++++++++++
  2523.  
  2524. >From kptben@aol.com (KPT Ben)
  2525. Date: 8 Oct 1996 04:01:50 -0400
  2526. Organization: America Online, Inc. (1-800-827-6364)
  2527.  
  2528. In article <32504A32.114D@lallink.demon.co.uk>, john clarke
  2529. <johnc@lallink.demon.co.uk> wrote:
  2530.  
  2531. > I found a nice(fast) way of doing a transparant (50% source 50% 
  2532. > destination) blit in 16bit colour, that could also be easily adapted to 
  2533. > 32bit colour.
  2534.  
  2535. If you want a real challenge, try writing a fast routine to _add_ two
  2536. 24-bit pixel values with saturation (32-bit ARGB format, alpha ignored).
  2537. e.g.
  2538.  
  2539. pixel 1: A = ??   R = 22  G = 201  B = 88
  2540. pixel 2: A = ??   R = 66  G = 179  B = 11  +
  2541. ___________________________________________
  2542. result:  A = ??   R = 88  G = 255  B = 99     (G saturates to 255)
  2543.  
  2544.  
  2545. Note that the carry bit from G is not allowed to overflow into R. I found
  2546. a way to do this in the general case with just 8 arithmetic/logical
  2547. instructions, no branches, 6 cycles on a 604. A related technique gives
  2548. bytewise min/max algorithms with similar efficiency. See if you can find
  2549. the algorithm I used!
  2550.  
  2551. --
  2552. Ben Weiss
  2553. Imaging Scientist
  2554. MetaTools Inc.
  2555.  
  2556. +++++++++++++++++++++++++++
  2557.  
  2558. >From gchapman@irus.rri.uwo.ca (Greg Chapman)
  2559. Date: Thu, 10 Oct 1996 12:22:31 -0500
  2560. Organization: Robarts Research Institute
  2561.  
  2562. In article <53d1pe$mio@newsbf02.news.aol.com>, kptben@aol.com (KPT Ben) wrote:
  2563.  
  2564. > Note that the carry bit from G is not allowed to overflow into R. I found
  2565. > a way to do this in the general case with just 8 arithmetic/logical
  2566. > instructions, no branches, 6 cycles on a 604. A related technique gives
  2567. > bytewise min/max algorithms with similar efficiency. See if you can find
  2568. > the algorithm I used!
  2569.  
  2570. I hate it when people tease like that. :)
  2571.  
  2572. -- 
  2573. Greg Chapman
  2574. Mac Developer - Robarts Research Institute
  2575. Imaging Research Labs
  2576. - -
  2577. "You! Out of the gene pool!"
  2578.  
  2579. +++++++++++++++++++++++++++
  2580.  
  2581. >From David Matiskella <matiskel@aa.washington.edu>
  2582. Date: Fri, 11 Oct 1996 12:06:58 -0700
  2583. Organization: University of Washington
  2584.  
  2585. On Thu, 10 Oct 1996, Greg Chapman wrote:
  2586.  
  2587. > In article <53d1pe$mio@newsbf02.news.aol.com>, kptben@aol.com (KPT Ben) wrote:
  2588. >  
  2589. > > Note that the carry bit from G is not allowed to overflow into R. I found
  2590. > > a way to do this in the general case with just 8 arithmetic/logical
  2591. > > instructions, no branches, 6 cycles on a 604. A related technique gives
  2592. > > bytewise min/max algorithms with similar efficiency. See if you can find
  2593. > > the algorithm I used!
  2594. > I hate it when people tease like that. :)
  2595. > -- 
  2596. > Greg Chapman
  2597. > Mac Developer - Robarts Research Institute
  2598. > Imaging Research Labs
  2599. > ---
  2600. > "You! Out of the gene pool!"
  2601.     I want to know how you do it with out compares. Have to dig out my
  2602. PPC manuals and look for some nifty instructions.
  2603.  
  2604. David Matiskella
  2605. matiskel@aa.washington.edu
  2606.  
  2607.  
  2608.  
  2609. +++++++++++++++++++++++++++
  2610.  
  2611. >From kptben@aol.com (KPT Ben)
  2612. Date: 14 Oct 1996 03:40:19 -0400
  2613. Organization: America Online, Inc. (1-800-827-6364)
  2614.  
  2615. d88-bli@xbyse.nada.kth.se (Bo Lindbergh) wrote:
  2616.  
  2617. >In article <53d1pe$mio@newsbf02.news.aol.com> kptben@aol.com (KPT Ben)
  2618. writes:
  2619. >> 
  2620. >> If you want a real challenge, try writing a fast routine to _add_ two
  2621. >> 24-bit pixel values with saturation (32-bit ARGB format, alpha
  2622. ignored).
  2623. >
  2624. >[example snipped]
  2625. >
  2626. >> I found a way to do this in the general case with just 8
  2627. >> arithmetic/logical instructions, no branches, 6 cycles on a 604.
  2628. >
  2629. >Does it handle correctly the case where the low byte overflows and the
  2630. >middle byte adds up to FF?  Example: 123456+AACBAA should make BCFFFF.
  2631.  
  2632. Indeed it does :)  The channels do not interfere with each other in any
  2633. way.
  2634.  
  2635. If you don't care if an overflow causes the channel to the left to
  2636. increase by 1 (still pinned to 0xFF), e.g.
  2637.  
  2638. 11 33 BB +
  2639. AA 44 AA =
  2640. ________
  2641. BB 78 FF  (green channel one shade lighter due to red overflow)
  2642.  
  2643.  
  2644. then you can do it in 7 instructions. If the red overflow causes green to
  2645. overflow as well, then blue will increment by one, e.g:
  2646.  
  2647. 11 FF FF +
  2648. AA 00 01 =
  2649. ________
  2650. BC FF FF (red overflow winds up incrementing blue by one)
  2651.  
  2652. An eighth instruction is required to avoid this channel interference in
  2653. all cases.
  2654.  
  2655. -Ben
  2656.  
  2657. +++++++++++++++++++++++++++
  2658.  
  2659. >From d88-bli@xbyse.nada.kth.se (Bo Lindbergh)
  2660. Date: 13 Oct 1996 21:23:34 GMT
  2661. Organization: Royal Institute of Technology, Stockholm, Sweden
  2662.  
  2663. In article <53d1pe$mio@newsbf02.news.aol.com> kptben@aol.com (KPT Ben) writes:
  2664. > If you want a real challenge, try writing a fast routine to _add_ two
  2665. > 24-bit pixel values with saturation (32-bit ARGB format, alpha ignored).
  2666.  
  2667. [example snipped]
  2668.  
  2669. > I found a way to do this in the general case with just 8
  2670. > arithmetic/logical instructions, no branches, 6 cycles on a 604.
  2671.  
  2672. Does it handle correctly the case where the low byte overflows and the
  2673. middle byte adds up to FF?  Example: 123456+AACBAA should make BCFFFF.
  2674.  
  2675.  
  2676. /Bo Lindbergh
  2677.  
  2678. ---------------------------
  2679.  
  2680. >From Josh Birnbaum <J_Birnbaum@fbp-ny.com>
  2681. Subject: Trap Patching...
  2682. Date: Mon, 14 Oct 1996 01:52:41 -0500
  2683. Organization: Razor Rug
  2684.  
  2685. Hi,
  2686.  
  2687. What exactly is trap patching and for what is it used. A code exaple of
  2688. it's use would be appreciated along with an explanation.
  2689. My e-mail address is at the bottom of this mail.
  2690.  
  2691. Thanx,
  2692.  
  2693. Josh...
  2694. J_Birnbaum@fbp-ny.com
  2695.  
  2696. +++++++++++++++++++++++++++
  2697.  
  2698. >From davea@atlas.co.uk (Dave)
  2699. Date: Mon, 14 Oct 1996 15:53:31 +0000
  2700. Organization: Atlas Internet
  2701.  
  2702. You can patch a trap to do many different things.
  2703. A typical example is to fix a bug, ie a trap doesnt preserve registers
  2704. correctly after completion, So you could patch the trap to save registers
  2705. and restore them after the call. 
  2706.  
  2707. You could patch the shutdown trap and add a routine to back-up some data.
  2708.  
  2709. You could patch the SysBeep trap to disable sounds during certain times of day 
  2710.  
  2711. You could patch the disk insert trap to eject the floppy disk, thus
  2712. rendering the A. driver uselss - Sys Admin's may not want anyone to insert
  2713. floppies onto Networked machines.
  2714.  
  2715.  
  2716. ..... etc....etc....etc....
  2717.  
  2718.  
  2719.  
  2720. Dave
  2721.  
  2722.  
  2723. Examples?
  2724.  
  2725. Use one of the many search engines and specify the type of code example
  2726. you are looking for.
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733. In article <3261E330.5DB0@fbp-ny.com>, J_Birnbaum@fbp-ny.com wrote:
  2734.  
  2735. > Hi,
  2736. > What exactly is trap patching and for what is it used. A code exaple of
  2737. > it's use would be appreciated along with an explanation.
  2738. > My e-mail address is at the bottom of this mail.
  2739. > Thanx,
  2740. > Josh...
  2741. > J_Birnbaum@fbp-ny.com
  2742.  
  2743. +++++++++++++++++++++++++++
  2744.  
  2745. >From blob@ricochet.net
  2746. Date: Mon, 14 Oct 1996 09:42:11 -0700
  2747. Organization: (none)
  2748.  
  2749. In article <3261E330.5DB0@fbp-ny.com>, J_Birnbaum@fbp-ny.com wrote:
  2750.  
  2751. > What exactly is trap patching and for what is it used. A code exaple of
  2752. > it's use would be appreciated along with an explanation.
  2753.  
  2754.  
  2755. See Inside Macintosh:Operating System Utilities, chapter 8, the Trap
  2756. Manager.  Also see the book "A Fragment of Your Imagination" by Joe Zobkiw.
  2757.  
  2758. -- 
  2759. (Pointers to other Mac programming web sites at
  2760. <http://devworld.apple.com/dev/geeks.html>)
  2761.  
  2762. ---------------------------
  2763.  
  2764.  
  2765. +++++++++++++++++++++++++++
  2766.  
  2767. >From David Matiskella <matiskel@aa.washington.edu>
  2768. Date: Fri, 4 Oct 1996 16:34:41 -0700
  2769. Organization: University of Washington
  2770.  
  2771. On Sat, 5 Oct 1996, christopher wrote:
  2772.  
  2773. > Where is the address of the video ram
  2774. > for writing it directly??
  2775. > because Quickdraw is to slow for a demo.
  2776. > thanks
  2777. The address isn't fixed. Develop had an article on writing directly to the
  2778. screen which tells you all the gotchas.
  2779.     That being said the simplest method is to create a window on the
  2780. screen. YOu can then get the base Address and rowbytes. 
  2781.  
  2782. David Matiskella
  2783. matiskel@aa.washington.edu
  2784.  
  2785.  
  2786.  
  2787. +++++++++++++++++++++++++++
  2788.  
  2789. >From christopher.le@inforoute.cgs.fr (christopher)
  2790. Date: Sat, 5 Oct 1996 13:03:25 +0200
  2791. Organization: Guest of OLEANE - PIPEX International
  2792.  
  2793. David Matiskella <matiskel@aa.washington.edu> wrote:
  2794.  
  2795. > On Sat, 5 Oct 1996, christopher wrote:
  2796. > > Where is the address of the video ram
  2797. > > for writing it directly??
  2798. > > 
  2799. > > because Quickdraw is to slow for a demo.
  2800. > > 
  2801. > > thanks
  2802. > > 
  2803. > The address isn't fixed. Develop had an article on writing directly to the
  2804. > screen which tells you all the gotchas.
  2805. >       That being said the simplest method is to create a window on the
  2806. > screen. YOu can then get the base Address and rowbytes. 
  2807. > David Matiskella
  2808. > matiskel@aa.washington.edu
  2809.  
  2810.  
  2811. Where can i find this article please, because i live in France.
  2812.  
  2813. because i can get the base addresse with the function
  2814. LMGetScrnBase(), but to put a black Rectangle on the screen, is slower
  2815. than to put a black Rectangle with QuickDraw...!!
  2816.  
  2817. on a Mac IIci it's take 2 or 3 seconds..!!
  2818. just with a pointer..!!
  2819.  
  2820. +++++++++++++++++++++++++++
  2821.  
  2822. >From jstiles@uclink4.berkeley.edu (John Stiles)
  2823. Date: Sat, 05 Oct 1996 23:53:40 -0800
  2824. Organization: Data Communication and Newtorking Services
  2825.  
  2826. > Where is the address of the video ram
  2827. > for writing it directly??
  2828. > because Quickdraw is to slow for a demo.
  2829.  
  2830. I suggest that you:
  2831.  
  2832. 1) Make a window (easy peasy, GetNewCWindow)
  2833. 2) Allocate a GWorld (Apple has lots of nice sample code for this)
  2834. 3) Render your graphics in the GWorld; you can access it completely
  2835. without violating any Apple guidelines
  2836. 4) Use CopyBits to blast your GWorld onscreen every frame
  2837.  
  2838. This method is Apple-sanctioned yet still quite fast.
  2839. Have fun!
  2840.  
  2841. *Stiles
  2842.  
  2843. +++++++++++++++++++++++++++
  2844.  
  2845. >From Robert van Uitert <rvu@pi.net>
  2846. Date: Sun, 06 Oct 1996 14:19:28 +0000
  2847. Organization: Three-Space Interactive
  2848.  
  2849. christopher wrote:
  2850. > Where is the address of the video ram
  2851. > for writing it directly??
  2852. > because Quickdraw is to slow for a demo.
  2853. > thanks
  2854.  
  2855. GDHandle device = GetMainDevice(); // the screen with the menu bar
  2856. PixMapHandle pixMap = (*device)->gdPMap;
  2857. Ptr baseAddr = GetPixBaseAddr(pixMap); // or: (*pixMap)->baseAddr
  2858. short rowBytes = (*pixMap)->rowBytes & 0x3FFF;
  2859.  
  2860. +++++++++++++++++++++++++++
  2861.  
  2862. >From christopher.le@inforoute.cgs.fr (christopher)
  2863. Date: Mon, 7 Oct 1996 20:07:36 +0200
  2864. Organization: Guest of OLEANE - PIPEX International
  2865.  
  2866. Robert van Uitert <rvu@pi.net> wrote (ecrivait):
  2867.  
  2868. > GDHandle device = GetMainDevice(); // the screen with the menu bar
  2869. > PixMapHandle pixMap = (*device)->gdPMap;
  2870. > Ptr baseAddr = GetPixBaseAddr(pixMap); // or: (*pixMap)->baseAddr
  2871. > short rowBytes = (*pixMap)->rowBytes & 0x3FFF;
  2872.  
  2873.  
  2874. yes, but we can get this address with the function GetLMScrnBase() with
  2875. codeWarrior.
  2876.  
  2877. but it's too slow for a fast animation.
  2878.  
  2879. with a Mac IIci it take 1.2 sec for draw a large Rect on the screen with
  2880. a pointer.
  2881.  
  2882. can't we draw offscreen and then change the ScrnBase, or directly draw
  2883. into the VRam.
  2884.  
  2885. thank you for this answers.
  2886.  
  2887. Christopher le
  2888.  
  2889. +++++++++++++++++++++++++++
  2890.  
  2891. >From jstiles@uclink4.berkeley.edu (John Stiles)
  2892. Date: Mon, 07 Oct 1996 12:51:56 -0800
  2893. Organization: University of California, Berkeley
  2894.  
  2895. > yes, but we can get this address with the function GetLMScrnBase() with
  2896. > codeWarrior.
  2897. > but it's too slow for a fast animation.
  2898. > with a Mac IIci it take 1.2 sec for draw a large Rect on the screen with
  2899. > a pointer.
  2900.  
  2901. QuickDraw doesn't use any special technique that you can't use!
  2902. It just writes to screen as well.
  2903.  
  2904. What kind of pointer did you use? (byte *)? This will be slow.
  2905. Byte-for-byte copies are not very optimized.
  2906. Try (long *). Also, try unrolling loops.
  2907.  
  2908. > can't we draw offscreen and then change the ScrnBase,
  2909.  
  2910. Certainly not! <CRASH> :(
  2911.  
  2912. >or directly draw
  2913. > into the VRam.
  2914.  
  2915. Drawing to ScrnBase is writing directly to VRAM!
  2916.  
  2917. *Stiles
  2918.  
  2919. +++++++++++++++++++++++++++
  2920.  
  2921. >From jmunkki@alpha.hut.fi (Juri Munkki)
  2922. Date: 8 Oct 1996 08:24:03 GMT
  2923. Organization: Helsinki University of Technology
  2924.  
  2925. In article <1996100720073642008@dyn-5.vin.oleane.com> christopher.le@inforoute.cgs.fr (christopher) writes:
  2926. >yes, but we can get this address with the function GetLMScrnBase() with
  2927. >codeWarrior. but it's too slow for a fast animation.
  2928.  
  2929. >with a Mac IIci it take 1.2 sec for draw a large Rect on the screen with
  2930. >a pointer.
  2931.  
  2932. >can't we draw offscreen and then change the ScrnBase, or directly draw
  2933. >into the VRam.
  2934.  
  2935. Repeat 100 times:
  2936.  
  2937.     The Macintosh is not an Amiga
  2938.  
  2939. (This request is because I think the Amiga is one of the few "modern" machines
  2940. where video can be placed just about anywhere in RAM.)
  2941.  
  2942. Then read the Inside Mac material on QuickDraw and Graphics Devices
  2943. until you fully understand the issues involved. The low memory variable
  2944. that you mentioned is only the tip of the iceberg and once you know
  2945. how to program Mac video directly, you will never even think of using
  2946. it for anything.
  2947.  
  2948. Also, if drawing something on screen takes your code 1.2 seconds on a IIci,
  2949. then there's a serious problem with your code and how it is organized.
  2950.  
  2951. -- 
  2952. Juri Munkki jmunkki@iki.fi        Life is easy when polygons are cheap.
  2953. http://www.iki.fi/jmunkki           Windsurfing: Faster than the wind.
  2954.  
  2955. +++++++++++++++++++++++++++
  2956.  
  2957. >From nolram@panix.com (Marlon Sarmiento)
  2958. Date: Sat, 12 Oct 1996 10:43:03 -0500
  2959. Organization: Nolram
  2960.  
  2961. In article <53d333$5vu@nntp.hut.fi>, jmunkki@alpha.hut.fi (Juri Munkki) wrote:
  2962.  
  2963.  
  2964. > Repeat 100 times:
  2965. >         The Macintosh is not an Amiga
  2966. > (This request is because I think the Amiga is one of the few "modern" machines
  2967. > where video can be placed just about anywhere in RAM.)
  2968.  
  2969.      Actually many "home systems" did allow this, the 8-bit Atari's alowed
  2970. many of flipping techniques. One of my complains of new systems( both Mac
  2971. and Intel), is the waste speed. In an old 8-bit I could page flip three
  2972. images for animation, with some tricks I could get all 256 colors on
  2973. screen, and even more get to draw offscreen while moving current view(
  2974. this was helpfull for scrolling). I know it could all be "simulated" on my
  2975. Mac, but three lines of code was all I needed back then.
  2976.  
  2977.           Well how cares I'm just an old fart, who babbles.
  2978.  
  2979. -- 
  2980. E-mail: Nolram@panix.com
  2981.         Sarmiento@usa.net
  2982.  
  2983. Web page: http://www.panix.com/~nolram
  2984.  
  2985. +++++++++++++++++++++++++++
  2986.  
  2987. >From bwade@qualia.com (Bretton Wade)
  2988. Date: Fri, 11 Oct 1996 10:44:54 -0400
  2989. Organization: qualia, inc.
  2990.  
  2991. In article <53d333$5vu@nntp.hut.fi>, jmunkki@alpha.hut.fi (Juri Munkki) wrote:
  2992.  
  2993. # Repeat 100 times:
  2994. #         The Macintosh is not an Amiga
  2995. # (This request is because I think the Amiga is one of the few "modern" machines
  2996. # where video can be placed just about anywhere in RAM.)
  2997.  
  2998. Yeah, and all those zip chips get expensive...
  2999.  
  3000. -- 
  3001. Bretton Wade (bwade@qualia.com)
  3002. http://www.qualia.com/~bwade/
  3003.  
  3004. +++++++++++++++++++++++++++
  3005.  
  3006. >From FranÁois Lionet <flionet@babel.asi.fr>
  3007. Date: Mon, 14 Oct 1996 12:27:20 +0100
  3008. Organization: Suprastudio
  3009.  
  3010. Marlon Sarmiento wrote:
  3011.  
  3012. > In article <53d333$5vu@nntp.hut.fi>, jmunkki@alpha.hut.fi (Juri Munkki) wrote:
  3013. >      Actually many "home systems" did allow this, the 8-bit Atari's alowed
  3014. > many of flipping techniques.
  3015. Bill understood that, DirectX (on the pC you guessed) allow page
  3016. flipping.
  3017.  
  3018. > One of my complains of new systems( both Mac
  3019. > and Intel), is the waste speed. In an old 8-bit I could page flip three
  3020. > images for animation, with some tricks I could get all 256 colors on
  3021. > screen, and even more get to draw offscreen while moving current view(
  3022. > this was helpfull for scrolling). I know it could all be "simulated" on my
  3023. > Mac, but three lines of code was all I needed back then.
  3024. POKE POKE POKE on the Commodore 64, things were so simple then, one POKE
  3025. and you move a hardware sprite! On the other hand, the CBM64 wwas
  3026. compatible
  3027. with... the CBM 64 and not 11 years of new machines and operating
  3028. systems...
  3029.  
  3030. --
  3031. Francois Lionet
  3032. flionet@asi.fr
  3033.  
  3034. ---------------------------
  3035.  
  3036. >From mindplay@rtd.com (Shoshana Mayden)
  3037. Subject: Word Processing DLL for Macintosh
  3038. Date: Fri, 04 Oct 96 21:28:42 GMT
  3039. Organization: Mindplay
  3040.  
  3041. I have been asked by one of our developers to find a Word Processing DLL that 
  3042. we could use for a Macintosh program we are developing.  Any ideas on where I 
  3043. could find information on this?  I've tried searching through the Apple 
  3044. Developer pages, but haven't had any luck finding anything yet.
  3045.  
  3046. Any help would be appreciated.  Please reply by e-mail to mindplay@rtd.com
  3047. Thanks,
  3048. Shoshana Mayden
  3049.  
  3050. +++++++++++++++++++++++++++
  3051.  
  3052. >From mpinkert@cc.gatech.edu (Mike Pinkerton)
  3053. Date: Mon, 07 Oct 1996 15:58:52 -0400
  3054. Organization: Georgia Tech
  3055.  
  3056. In article <53bbh4$mgd@baygull.rtd.com>, mindplay@rtd.com wrote:
  3057.  
  3058. >I have been asked by one of our developers to find a Word Processing DLL that 
  3059. >we could use for a Macintosh program we are developing.  Any ideas on where I 
  3060. >could find information on this?  I've tried searching through the Apple 
  3061. >Developer pages, but haven't had any luck finding anything yet.
  3062.  
  3063. Why not just write your app as an OpenDoc container and allow the user to
  3064. use whatever word processor they want? Then they can plug in WAV or
  3065. Apple's text editor, or the Cyberdog text editor, and you don't have to
  3066. worry about writing one yourself!
  3067.  
  3068. For more information on OpenDoc, check out
  3069.  
  3070. http://www.cc.gatech.edu/people/home/mpinkert/opendoc/OpenDoc.html
  3071.  
  3072. -- 
  3073. Mike Pinkerton
  3074. mpinkert@cc.gatech.edu      http://www.cc.gatech.edu/people/home/mpinkert/
  3075.  
  3076. Cyberdog: On the Internet, no one knows you're an OpenDoc part.
  3077.  
  3078. +++++++++++++++++++++++++++
  3079.  
  3080. >From hpe@algonet.se
  3081. Date: Tue, 08 Oct 1996 13:48:06 +0100
  3082. Organization: AlgoNet Public Access Node, Stockholm
  3083.  
  3084. Check PAIGE from Datapak check www.datapak.com/~datapak/ for more info.
  3085.  
  3086.  
  3087. /Peter
  3088.  
  3089. +++++++++++++++++++++++++++
  3090.  
  3091. >From Rudi Angela <rudi_angela@informaat.nl>
  3092. Date: 8 Oct 1996 08:03:59 GMT
  3093. Organization: Informaat B.V.
  3094.  
  3095. You can try WASTE (WorldScriptô-Aware Styled Text Engine) from marco 
  3096. piovanelli (mailto:piovanel@dsi.unimi.it).
  3097.  
  3098. Rudi
  3099.  
  3100. +++++++++++++++++++++++++++
  3101.  
  3102. >From Joseph Strout <jstrout@ucsd.edu>
  3103. Date: Tue, 8 Oct 1996 10:39:53 -0700
  3104. Organization: University of California, San Diego
  3105.  
  3106. On Mon, 7 Oct 1996, Shoshana Mayden wrote:
  3107.  
  3108. > I have been asked by one of our developers to find a Word Processing DLL that 
  3109. > we could use for a Macintosh program we are developing.  Any ideas on where I 
  3110. > could find information on this?  I've tried searching through the Apple 
  3111. > Developer pages, but haven't had any luck finding anything yet.
  3112.  
  3113. You probably want WASTE (http://cirrus.sprl.umich.edu:80/waste/).
  3114.  
  3115. What's a DLL?
  3116.  
  3117. ,------------------------------------------------------------------.
  3118. |    Joseph J. Strout           Department of Neuroscience, UCSD   |
  3119. |    jstrout@ucsd.edu           http://www-acs.ucsd.edu/~jstrout/  |
  3120. `------------------------------------------------------------------'
  3121.  
  3122.  
  3123. +++++++++++++++++++++++++++
  3124.  
  3125. >From dent@highway1.com.au (Andy Dent)
  3126. Date: Wed, 09 Oct 1996 12:37:46 +0800
  3127. Organization: A.D. Software
  3128.  
  3129. In article <mpinkert-0710961558540001@10.0.2.15>, mpinkert@cc.gatech.edu
  3130. (Mike Pinkerton) wrote:
  3131.  
  3132. >In article <53bbh4$mgd@baygull.rtd.com>, mindplay@rtd.com wrote:
  3133. >
  3134. >>I have been asked by one of our developers to find a Word Processing DLL that 
  3135. >>we could use for a Macintosh program we are developing.  Any ideas on where I 
  3136. >>could find information on this?  I've tried searching through the Apple 
  3137. >>Developer pages, but haven't had any luck finding anything yet.
  3138.  
  3139. see www.datapak.com for info on Paige (often advertised in MacTech) and
  3140. I've seen references to an editing toolkit called LEdit (I think) which
  3141. was cross-platform but not (yet?) a full WP.
  3142.  
  3143.  
  3144. Datapak's stuff is good but pricey. I used their earlier engine in a
  3145. classifieds publishing system.
  3146.  
  3147. Andy Dent, Product Architect, A.D. Software, Western Australia
  3148. OOFILE - "the cross-platform OODBMS that speaks c++"
  3149. ftp://ftp.highway1.com.au/pub/adsoftware/oofile/
  3150. http://www.highway1.com.au/adsoftware/oofile.html
  3151.  
  3152. +++++++++++++++++++++++++++
  3153.  
  3154. >From gchapman@irus.rri.uwo.ca (Greg Chapman)
  3155. Date: Tue, 15 Oct 1996 15:21:33 -0500
  3156. Organization: Robarts Research Institute
  3157.  
  3158. In article <Pine.SGI.3.94.961008103919.20997E-100000@knack>, Joseph Strout
  3159. <jstrout@ucsd.edu> wrote:
  3160.  
  3161. > What's a DLL?
  3162.  
  3163. MS Windows nonsense.
  3164.  
  3165. -- 
  3166. Greg Chapman
  3167. Mac Developer - Robarts Research Institute
  3168. Imaging Research Labs
  3169. - -
  3170. "You! Out of the gene pool!"
  3171.  
  3172. ---------------------------
  3173.  
  3174. >From awulf@biit.com (Andrew Wulf)
  3175. Subject: [BETA] fast memory allocator and debugging tool
  3176. Date: Sat, 12 Oct 1996 15:19:23 -0500
  3177. Organization: Biit, Inc.
  3178.  
  3179. Biit, Inc is looking for a few beta testers to help test HeapManager. See
  3180. description below.
  3181.  
  3182. To be put on the beta list, please send your contact information, and a
  3183. brief description of the application(s) you would be testing HeapManager
  3184. with, to beta@biit.com. Complex applications that create/delete large
  3185. number of objects are particularly useful. The debugging features of
  3186. HeapManager need the most exercise.
  3187.  
  3188. General information is available at our website <http://www.biit.com>.
  3189.  
  3190. HeapManager is a fast memory allocator library and heap debugging tool for
  3191. Macintosh C and C++ applications (68K/PPC) developed with Metrowerks
  3192. Codewarrior. Applications written in C++ that call operator new, and those
  3193. C applications using malloc() to allocate memory, will see performance
  3194. gains ranging from modest to dramatic (depending on how often the
  3195. application allocates/frees memory). See the website at
  3196. <http://www.biit.com> for benchmark results of testing most of the
  3197. commercially available allocators (Metrowerks, Microquill & Biit).
  3198.  
  3199. HeapManager also supplies a comprehensive heap checking and debugging API
  3200. to help detect memory leakage, over- and under-writes, writes to
  3201. previously freed memory, double-frees and uninitialized memory. Additional
  3202. routines collect runtime memory usage statistics such as total allocated
  3203. memory, popular allocation sizes, and others.
  3204.  
  3205. Use of the debugging features is made easier by the presence of HeapBoss,
  3206. an external application that can control the debugging library remotely,
  3207. display heap settings and statistics, automatically check the heap, and
  3208. record memory allocations to assist in leak detection and help track
  3209. memory usage. HeapBoss is designed to work in conjunction with the
  3210. Metrowerks Source Debugger, but can also work standalone.
  3211.  
  3212. To those who are familiar with Microquill's SmartHeap, HeapManager
  3213. provides similar performance, a somewhat different feature set, and also
  3214. includes an external debugging application (Microquill only ships their
  3215. HeapAgent on Windows.X platforms, and for an additional charge).
  3216.  
  3217. Note that HeapManager does not replace or debug the MacOS memory manager,
  3218. nor does it assist applications that only call NewPtr() or NewHandle().
  3219.  
  3220. HeapManager will be priced at $99 when it ships.
  3221.  
  3222.  
  3223.  
  3224. +++++++++++++++++++++++++++
  3225.  
  3226. >From unki@rzstud3.rz.uni-karlsruhe.de (Thorsten Weber)
  3227. Date: 15 Oct 1996 16:41:54 GMT
  3228. Organization: University of Karlsruhe, Germany
  3229.  
  3230. Andrew Wulf (awulf@biit.com) wrote:
  3231. > Biit, Inc is looking for a few beta testers to help test HeapManager. See
  3232. > description below.
  3233. [deletia]
  3234. > To those who are familiar with Microquill's SmartHeap, HeapManager
  3235. > provides similar performance, a somewhat different feature set, and also
  3236. > includes an external debugging application (Microquill only ships their
  3237. > HeapAgent on Windows.X platforms, and for an additional charge).
  3238.  
  3239. > Note that HeapManager does not replace or debug the MacOS memory manager,
  3240. > nor does it assist applications that only call NewPtr() or NewHandle().
  3241.  
  3242. > HeapManager will be priced at $99 when it ships.
  3243.  
  3244. Hi,
  3245.  
  3246. are there any plans to develop versions of HeapManager for other platforms
  3247. like Win32, Solaris..., similar to Microquill's SmartHeap ?
  3248.  
  3249. Just curious, 
  3250. Thorsten
  3251.  
  3252. --
  3253.  
  3254. Thorsten P. Weber 
  3255.  
  3256. eMail: unki@rz.uni-karlsruhe.de
  3257.  
  3258. - For free speech online and elsewhere, join the blue ribbon campaign! -  ()
  3259. - ---------------- http://www.eff.org/blueribbon.html ------------------  /\  
  3260.  
  3261. +++++++++++++++++++++++++++
  3262.  
  3263. >From awulf@biit.com (Andrew Wulf)
  3264. Date: Tue, 15 Oct 1996 18:20:10 -0500
  3265. Organization: Biit, Inc.
  3266.  
  3267. In article <540esi$52d@nz12.rz.uni-karlsruhe.de>,
  3268. unki@rzstud3.rz.uni-karlsruhe.de (Thorsten Weber) wrote:
  3269.  
  3270. >are there any plans to develop versions of HeapManager for other platforms
  3271. >like Win32, Solaris..., similar to Microquill's SmartHeap ?
  3272.  
  3273. Internally it is written to be platform-neutral. However I don't expect it
  3274. will be ported in the near future; the other platforms are *much* harder
  3275. to develop this kind of product for, and the competition is very well
  3276. entrenched. It would really depend on how much demand there will be once
  3277. HeapManager is shipping.
  3278.  
  3279. Focusing on making Macintosh applications faster & cleaner makes the most
  3280. sense right now.
  3281.  
  3282.  
  3283.  
  3284. ---------------------------
  3285.  
  3286. >From Mark Kriegsman <kriegsman@clearway.com>
  3287. Subject: [Q] C++ static initialization in 68K code resource?
  3288. Date: Tue, 15 Oct 1996 16:15:33 -0400
  3289. Organization: ClearWay Technologies, Inc.
  3290.  
  3291. We're developing a (large, cool) WebSTAR plugin.  The PPC version is a 
  3292. shared library.  The 68K version has to be a code resource.  Most of our 
  3293. code is C++.
  3294.  
  3295. So, what do we have to do to get our static initialization done in our 
  3296. 68K code resource?  Call something explicitly?  If so, what?  Sez who?  
  3297. (ie, where's the documentation?)
  3298.  
  3299. Please reply to E-MAIL TO: Ben Wyckoff <wyckoff@clearway.com>
  3300.  
  3301. Thanks.
  3302.  
  3303. -Mark
  3304.  
  3305. +++++++++++++++++++++++++++
  3306.  
  3307. >From gregj@europa.com (Greg Jorgensen)
  3308. Date: Wed, 16 Oct 1996 18:50:01 -0800
  3309. Organization: RAINet
  3310.  
  3311. In article <3263F0E5.3D48@clearway.com>, kriegsman@clearway.com wrote:
  3312.  
  3313. >We're developing a (large, cool) WebSTAR plugin.  The PPC version is a 
  3314. >shared library.  The 68K version has to be a code resource.  Most of our 
  3315. >code is C++.
  3316. >
  3317. >So, what do we have to do to get our static initialization done in our 
  3318. >68K code resource?  Call something explicitly?  If so, what?  Sez who?  
  3319. >(ie, where's the documentation?)
  3320. >
  3321. >Please reply to E-MAIL TO: Ben Wyckoff <wyckoff@clearway.com>
  3322.  
  3323.  
  3324. You can call the (apparently undocumented) function __InitCode__. You'll
  3325. need this in your code:
  3326.  
  3327.  
  3328. extern "C" {
  3329.    extern void __InitCode__(void);
  3330.    extern void __destroy_global_chain(void);
  3331. }
  3332.  
  3333. ...
  3334.  
  3335. EnterCodeResource();
  3336. ...
  3337. __InitCode__();  // call one time only
  3338.  
  3339. ...
  3340.  
  3341. __destroy_global_chain();  // call when your code resource is disposed
  3342.  
  3343.  
  3344. I can't find any reference to this in the CW docs, but it certainly should
  3345. be somewhere. You can find the source among the various startup code
  3346. sources buried in the Mac OS Support folder.
  3347.  
  3348. -- 
  3349. Greg Jorgensen - Portland, Oregon, USA - gregj@europa.com
  3350.  
  3351. "In a recent fire, [Bob] Dole's library burned down. Both books were lost. And he hadn't even finished coloring one." -- Jack Kemp 
  3352.  
  3353. +++++++++++++++++++++++++++
  3354.  
  3355. >From tulip@tiac.net (Ed Anson)
  3356. Date: Tue, 15 Oct 1996 22:09:59 -0400
  3357. Organization: Tulip Software
  3358.  
  3359. In article <3263F0E5.3D48@clearway.com>, kriegsman@clearway.com wrote:
  3360.  
  3361. > We're developing a (large, cool) WebSTAR plugin.  The PPC version is a 
  3362. > shared library.  The 68K version has to be a code resource.  Most of our 
  3363. > code is C++.
  3364. > So, what do we have to do to get our static initialization done in our 
  3365. > 68K code resource?  Call something explicitly?  If so, what?  Sez who?  
  3366. > (ie, where's the documentation?)
  3367. > Please reply to E-MAIL TO: Ben Wyckoff <wyckoff@clearway.com>
  3368.  
  3369. The answer depends on your development environment.
  3370.  
  3371. I use CodeWarrior. The documentation is reasonably complete, though it's
  3372. mostly in the sample code :-)
  3373.  
  3374. My experience is that (once things are set up correctly) static
  3375. initialization happens automatically. Setting things up correctly mostly
  3376. involves making the correct settings in the preferences dialog.
  3377. [Unfortunately, I'm not at my development system now, so I can't specify
  3378. the details.] One of the useful options is to request the "extended" code
  3379. resource format, and there are some useful macros in SetupA4.h that you
  3380. need to use.
  3381.  
  3382. I hope this is enough to get you started.
  3383.  
  3384. - --------------------
  3385. Ed Anson
  3386. Tulip Software
  3387. Andover, MA 01810
  3388. U.S.A.              <http://www.tiac.net/users/tulip/home.html>
  3389.  
  3390. ---------------------------
  3391.  
  3392. >From abz@prisco.net (Alain Birtz)
  3393. Subject: [Q] telephone wire used by Phonnet
  3394. Date: 14 Oct 1996 15:10:39 GMT
  3395. Organization: Cegep St-Hyacinthe
  3396.  
  3397. How many and which wire are used bt Phonnet and similar product ?
  3398. Can Phonnet be used with 2 telephone line at home (one for regular
  3399. use and other the for modem) ?
  3400.  
  3401. Please, answer by email too.
  3402.  
  3403. Thank you.
  3404.  
  3405. -- 
  3406. Alain Birtz
  3407. CompuServe: 72467,2770
  3408. Internet: abz@prisco.net
  3409.  
  3410. +++++++++++++++++++++++++++
  3411.  
  3412. >From steve.w.jackson@mindspring.com (Steve W. Jackson)
  3413. Date: Mon, 14 Oct 1996 20:48:54 -0500
  3414. Organization: Montgomery, AL
  3415.  
  3416. In article <abz-1410961111520001@g37-95.citenet.net>, abz@prisco.net
  3417. (Alain Birtz) wrote:
  3418.  
  3419. ;> How many and which wire are used bt Phonnet and similar product ?
  3420. ;> Can Phonnet be used with 2 telephone line at home (one for regular
  3421. ;> use and other the for modem) ?
  3422. ;> 
  3423. ;> Please, answer by email too.
  3424. ;> 
  3425. ;> Thank you.
  3426. ;> 
  3427. ;> -- 
  3428. ;> Alain Birtz
  3429. ;> CompuServe: 72467,2770
  3430. ;> Internet: abz@prisco.net
  3431.  
  3432. Alain, I believe this is the primary reason it's called PhoneNet.  Typical
  3433. telephone wiring in homes (modern wiring, that is) has 4 wires, but your
  3434. phone only uses two.  So the other two can be used for a second line or
  3435. another special purpose.  Your PhoneNet connectors, if connected to the
  3436. opposite pair, should let you do what you're attempting -- with a little
  3437. tinkering and wire-studying.  The wires are red, green, yellow, and
  3438. black.  I'm not sure (it's been a while), but I believe that the
  3439. yellow/black pair is the first one used, and if you're in a single-line
  3440. home the red/green pair is available.
  3441.  
  3442. Hope this helps.
  3443.  
  3444. = Steve =
  3445.  
  3446. -- 
  3447. Steve W. Jackson
  3448. Montgomery, Alabama
  3449. steve.w.jackson@mindspring.com   http://www.mindspring.com/~sjacksn/stevehome.html
  3450. sjackson@jgrafix.com       http://www.jgrafix.com/sjackson
  3451.  
  3452. Do you believe in Macintosh? Learn how to help the
  3453. cause by subscribing to the "EvangeList" listserver!
  3454. Send email to <evangelist@macway.com> or check out
  3455. <http://www.solutions.apple.com/ListAdmin/>.
  3456.  
  3457. +++++++++++++++++++++++++++
  3458.  
  3459. >From geordie@chapman.com (Geordie Korper)
  3460. Date: Tue, 15 Oct 1996 11:07:45 -0500
  3461. Organization: Chapman and Cutler
  3462.  
  3463. In article
  3464. <steve.w.jackson-1410962048540001@user-168-121-38-201.dialup.mindspring.com>,
  3465.  steve.w.jackson@mindspring.com (Steve W. Jackson) wrote:
  3466.  
  3467. :In article <abz-1410961111520001@g37-95.citenet.net>, abz@prisco.net
  3468. :(Alain Birtz) wrote:
  3469. :
  3470. :;> How many and which wire are used bt Phonnet and similar product ?
  3471. :;> Can Phonnet be used with 2 telephone line at home (one for regular
  3472. :;> use and other the for modem) ?
  3473. :;> 
  3474. :;> Please, answer by email too.
  3475. :;> 
  3476. :;> Thank you.
  3477. :;> 
  3478. :;> -- 
  3479. :;> Alain Birtz
  3480. :;> CompuServe: 72467,2770
  3481. :;> Internet: abz@prisco.net
  3482. :
  3483. :Alain, I believe this is the primary reason it's called PhoneNet.  Typical
  3484. :telephone wiring in homes (modern wiring, that is) has 4 wires, but your
  3485. :phone only uses two.  So the other two can be used for a second line or
  3486. :another special purpose.  Your PhoneNet connectors, if connected to the
  3487. :opposite pair, should let you do what you're attempting -- with a little
  3488. :tinkering and wire-studying.  The wires are red, green, yellow, and
  3489. :black.  I'm not sure (it's been a while), but I believe that the
  3490. :yellow/black pair is the first one used, and if you're in a single-line
  3491. :home the red/green pair is available.
  3492. :
  3493. :Hope this helps.
  3494. :
  3495.  
  3496. Just want to add to steve's excelent answer that a two line phone system
  3497. you raised the question about will not have a pair to use for phonenet.
  3498.  
  3499. -- 
  3500. Geordie Korper     geordie@chapman.com
  3501.  
  3502. *********************************************************************
  3503. * The text above should in no way be construed to represent the     *
  3504. * opinions  of my employer, even if specifically stated to do so.   *
  3505. *********************************************************************
  3506.  
  3507. +++++++++++++++++++++++++++
  3508.  
  3509. >From tstiller@sarnoff.com (Tom Stiller)
  3510. Date: Tue, 15 Oct 1996 07:44:30 -0400
  3511. Organization: David Sarnoff Research Center
  3512.  
  3513. In article <abz-1410961111520001@g37-95.citenet.net>, abz@prisco.net
  3514. (Alain Birtz) wrote:
  3515.  
  3516. >How many and which wire are used bt Phonnet and similar product ?
  3517. >Can Phonnet be used with 2 telephone line at home (one for regular
  3518. >use and other the for modem) ?
  3519. >
  3520. >Please, answer by email too.
  3521. >
  3522. >Thank you.
  3523. >
  3524. >-- 
  3525. >Alain Birtz
  3526. >CompuServe: 72467,2770
  3527. >Internet: abz@prisco.net
  3528.  
  3529. PhoneNet uses the outer two wires (normally yellow/black) in a standard 4
  3530. conductor phone extension.  You can use the inner pair (normally
  3531. red/green) for a telephone connection.  I "inject" the phone by plugging
  3532. the telephone line into the unused side of the PhoneNet connector and take
  3533. it out the same way at the other end of the link.  A "proper" installation
  3534. would connect a 72 ohm resistor acrouss the outer pair on the phone line
  3535. connectors, but you may be able to get away without it; I do.
  3536.  
  3537. Tom Stiller
  3538.  
  3539. -- 
  3540. Everyone is entitled to my opinion
  3541.  
  3542. ---------------------------
  3543.  
  3544. >From bucky43085@aol.com (Bucky43085)
  3545. Subject: beg game program-animation
  3546. Date: 10 Oct 1996 10:02:09 -0400
  3547. Organization: America Online, Inc. (1-800-827-6364)
  3548.  
  3549. My son is a sophomore in high school.  We have a Mac PowerPC Performa.  
  3550. He has taken his Texas Instruments graphing calculator and has programmed
  3551. games in it--somewhat like Nintendo type action games.  He wants to do
  3552. this on the Mac and is interested in learning animation. We got Hypercard
  3553. but it does not do what he wants.  
  3554.  
  3555. We've looked at codewarrior,  C ++, and some starter kits.
  3556. What would be a good starting place, that can be upgraded as he develops
  3557. his abilities?  Thanks!!!!
  3558.  
  3559. +++++++++++++++++++++++++++
  3560.  
  3561. >From yennie@aol.com (Yennie)
  3562. Date: 10 Oct 1996 15:17:06 -0400
  3563. Organization: America Online, Inc. (1-800-827-6364)
  3564.  
  3565. I wouldn't be so quick to abandon Hypercard. I would suggest possibly
  3566. investing in CompileIt!. It's a Hypercard based compiler that you can use
  3567. to write XCMDs and XFCNs (and actually just about any Macintosh code).
  3568. This way you can write actual Macintosh code, just as you would with C or
  3569. pascal, but it's a much easier language to learn. And you would have the
  3570. benefit of using that code in a Hypercard stack instead of trying to write
  3571. your own applications which could be a huge project. Animation is more
  3572. than a little tricky. I would suggest trying it with Hypercard alone
  3573. first. Try scripting buttons to move about the screen, etc... There are
  3574. countless Hypercard game stacks out there- search the web and dowload
  3575. some. You'll find they range from very basic to very refined.
  3576.  
  3577. Brian Yennie
  3578. Yennie@aol.com
  3579. <<This space for rent>>
  3580.  
  3581. +++++++++++++++++++++++++++
  3582.  
  3583. >From squires@crl.com (Scott Squires)
  3584. Date: Sun, 13 Oct 1996 16:47:04 -0800
  3585. Organization: Puffin Designs
  3586.  
  3587. In article <53ivl1$m9j@newsbf02.news.aol.com>,
  3588. bucky43085@aol.com (Bucky43085) wrote:
  3589.  
  3590. >My son is a sophomore in high school.  We have a Mac PowerPC Performa.  
  3591. >He has taken his Texas Instruments graphing calculator and has programmed
  3592. >games in it--somewhat like Nintendo type action games.  He wants to do
  3593. >this on the Mac and is interested in learning animation. We got Hypercard
  3594. >but it does not do what he wants.  
  3595. >
  3596. >We've looked at codewarrior,  C ++, and some starter kits.
  3597. >What would be a good starting place, that can be upgraded as he develops
  3598. >his abilities?  Thanks!!!!
  3599.  
  3600. Latest CodeWarrior has an in progress Game frame work called
  3601. GameWerks.  He can get the student discount.
  3602.  
  3603. There are a few Mac Game programming books.  Tricks of the Mac Gamming
  3604. Programming Gurus by McCornack, Ragnelmalm, Celestin, etc from Hayden
  3605. Books is probably the best all around one.  
  3606.  
  3607. There are some demo games on there.  Also do a check in the info-mac
  3608. and alt.sources archives.  Best thing might be to get a handle on the
  3609. C language and get some example code to modify.
  3610.  
  3611. -scott
  3612.  
  3613.  
  3614. Scott Squires               "Insert funny stuff here"
  3615. squires@crl.com
  3616. ScottSquir@aol.com
  3617.  
  3618.  
  3619. ---------------------------
  3620.  
  3621. >From lantos@ecf.toronto.edu (David Lantos)
  3622. Subject: where can I find macsbug?
  3623. Date: Sun, 13 Oct 1996 20:36:11 GMT
  3624. Organization: University of Toronto, Engineering Computing Facility
  3625.  
  3626. Does anyone know where I can find a copy of Macsbug on the internet?
  3627. I've looked around with all the searching pages, and all through Apple's
  3628. site, and I can't seem to find it anywhere.  Thanks a lot...
  3629.  
  3630.                             - Dave 
  3631.  
  3632. +++++++++++++++++++++++++++
  3633.  
  3634. >From dtm@andrew.cmu.edu (Dave McWherter)
  3635. Date: Sun, 13 Oct 1996 17:42:12 -0400
  3636. Organization: Water Wheel Systems, Marlton, NJ
  3637.  
  3638. In article <Dz8EKB.Aw@ecf.toronto.edu>, lantos@ecf.toronto.edu (David
  3639. Lantos) wrote:
  3640.  
  3641. > Does anyone know where I can find a copy of Macsbug on the internet?
  3642. > I've looked around with all the searching pages, and all through Apple's
  3643. > site, and I can't seem to find it anywhere.  Thanks a lot...
  3644. >                                                         - Dave 
  3645.  
  3646. Fellow Dave, you can find MacsBug on apple's web page system.  Go to 
  3647. http://www.devworld.apple.com/
  3648. And click on the "FTP" link.  You'll be then taken to a page which has
  3649. a bunch of links for each letter in the alphabet (give or take).  Click
  3650. on the one which contains "Macsbug", and it'll take you to a page which has
  3651. a URL for Macsbug.  It sounds complicated, but it's not.  The version there
  3652. is 6.5.3.  I don't know if it's the newest one or not, but I've had difficulty
  3653. getting it to work on my PPC....
  3654.  
  3655.  
  3656. -David McWherter
  3657.  
  3658. ---------------------------
  3659.  
  3660. End of C.S.M.P. Digest
  3661. **********************
  3662.